
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着服务器开发技术的不断发展,微服务架构技术在各个方面都有了很大的技术突破。今天,我们就一起来了解一下,在互联网大环境下的微服务系统架构的发展趋势。
1.服务网格白热化
服务网格是一个专注于服务间通信的基础设施层,也是目前受关注的与云原生有关的话题。随着容器的普及,服务拓扑变得越来越动态化,这对网络功能提出了更多的要求。服务网格通过服务发现、路由、负载均衡、健康检测和可观察性来管理流量,简化容器与生俱来的复杂性。
随着HAProxy、traefik和NGINX逐步把自己定位成数据平面,服务网格也变得越来越流行。尽管服务网格还没有得到大规模部署,但确实有些企业已经在生产环境中运行服务网格。另外,服务网格不仅可以用在微服务或Kubernetes环境中,也可以被用在VM和无服务器架构的环境中。例如,美国国家生物技术信息中心虽然没有使用容器,但他们使用了Linkerd。
2. 事件驱动架构的崛起
随着业务场景的不断变化,我们已经看到了基于推送或事件的架构正在成为一种趋势。服务向订阅事件的观察者容器发送事件,容器异步做出响应,事件发送者可能对此一无所知。与请求响应式架构不同的是,在基于事件的系统架构中,发起事件的容器并不依赖下游的容器,它们的处理过程和加载的事务与下游容器的可用性或完成情况无关。这种架构的另一个好处是,开发者可以更加独立地设计各自的服务。
3. 安全模型的变化
因为对内核访问方面的限制,部署在容器中的应用程序相对安全。在VM环境中,虚拟设备驱动器是暴露可见性的地方。而在容器环境里,操作系统提供了系统调用,信号源也变得更加丰富。之前,管理员需要在VM中安装代理,但那样太复杂了,需要管理太多的东西。容器提供了更清晰的可见性,相比VM,与容器的集成会更加容易。
4. 从REST到GraphQL
GraphQL是Facebook于2012年创建并于2015年开源的一套查询语言API规范。GraphQL的类型系统允许开发者自己定义数据schema,可以增加新字段,也可以删除旧字段,这些都不会影响已有的查询,也不需要修改客户端。GraphQL非常强大,因为它没有与特定的数据库或存储引擎绑定在一起。
GraphQL服务器使用一个单独的端点来提供所有的功能。只要定义好资源之间类型和字段的关系(这个与REST端点不太一样),GraphQL就可以跟踪属性之间的关系,在单个查询中从多个资源获取数据。在使用REST时,可能需要为单个请求加载多个URL,这样不仅增加了网络跳转,还拖慢了查询速度。通过减少网络跳转,GraphQL降低了单个数据请求所要耗费的资源。GraphQL返回的数据通常是JSON格式。
5. 混沌工程浮出水面
混沌工程初由Netflix发起,后来亚马逊、谷歌、微软和Facebook也开始实践。混沌工程的目的在于改进系统的确定性,以便应对生产环境的各种问题。混沌工程经历了十年的发展。初,Netflix开发了Chaos Monkeys,用它在生产环境关闭部分服务,后来演变成故障注入测试和Chaos Kong,用在更大规模的环境中。
作者:Astasia Myers
译者:无明
节选:infoq
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。