iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >2018年5大微服务架构发展趋势
  • 125
分享到

2018年5大微服务架构发展趋势

2023-06-02 22:06:33 125人浏览 八月长安
摘要

服务网格白热化服务网格是一个专注于服务间通信的基础设施层,也是目前最受关注的与云原生有关的话题。随着容器的普及,服务拓扑变得越来越动态化,这对网络功能提出了更多的要求。服务网格通过服务发现、路由、负载均衡、健康检测和可观察性来管理流量,简

2018年5大微服务架构发展趋势

服务网格白热化

服务网格是一个专注于服务间通信的基础设施层,也是目前最受关注的与云原生有关的话题。随着容器的普及,服务拓扑变得越来越动态化,这对网络功能提出了更多的要求。服务网格通过服务发现、路由、负载均衡、健康检测和可观察性来管理流量,简化容器与生俱来的复杂性。

随着 HAProxy、traefik 和 Nginx 逐步把自己定位成数据平面,服务网格也变得越来越流行。尽管服务网格还没有得到大规模部署,但确实有些企业已经在生产环境中运行服务网格。另外,服务网格不仅可以用在微服务kubernetes 环境中,也可以被用在 VM 和无服务器架构的环境中。例如,美国国家生物技术信息中心虽然没有使用容器,但他们使用了 Linkerd。

服务网格还可以用在混沌工程中。服务网格可以给系统注入延迟和故障,这样就不需要在每台主机上安装后台进程。

Istio 和 Buoyant 的 Linkerd 是目前最为流行的服务网格框架。另外,Buoyant 在去年 12 月份开源了用于 Kubernetes 的服务网格框架 Conduit V0.1。

2018年5大微服务架构发展趋势

事件驱动架构的崛起

随着业务场景的不断变化,我们已经看到了基于推送或事件的架构正在成为一种趋势。服务向订阅事件的观察者容器发送事件,容器异步做出响应,事件发送者可能对此一无所知。与请求响应式架构不同的是,在基于事件的系统架构中,发起事件的容器并不依赖下游的容器,它们的处理过程和加载的事务与下游容器的可用性或完成情况无关。这种架构的另一个好处是,开发者可以更加独立地设计各自的服务。

在容器环境中使用基于事件的架构时,功能即服务(FaaS)可以助他们一臂之力。在 FaaS 架构中,功能以文本的形式保存在数据库中,然后由事件来触发它们。在调用一个功能时,api 控制器会收到一个消息,并将它通过负载均衡器发送到消息总线,调用者容器负责处理队列中的消息。消息处理完毕后,结果被保存在数据库中,并发送给用户,而功能暂时退役,等待下一次触发。

FaaS 有两大好处。首先,缩短了服务开发时间,因为除了源代码,不需要创建其他任何东西。其次,降低了开销,因为功能的管理和伸缩通常是由 FaaS 平台(比如 AWS Lambda)来完成的。当然,采用 FaaS 本身也存在一些挑战。FaaS 要求解耦每一个服务,那么就会存在大量的服务需要发现、管理、编配和监控。因为缺乏对服务依赖链的全盘了解,FaaS 系统难以调试,而且可能会出现无限循环依赖问题。

在目前看来,FaaS 并不适用于某些场景,比如那些需要较长处理时间、需要往内存里加载大量数据或需要稳定性能的场景。开发者主要使用 FaaS 来运行后台作业和处理临时事件,不过我们相信,随着存储层速度的加快和平台性能的提升,FaaS 的应用场景会越来越多。

2017 年秋天,CNCF 对 550 名用户进行了问卷调查,其中 31% 的人正在使用无服务器架构技术,28% 的人打算在未来 18 个月使用无服务器架构技术。而在使用无服务器架构技术的 169 人当中,有 77% 使用的是 AWS Lambda。虽说 Lambda 或许是领先的无服务器架构平台,但我们相信边缘计算仍然有机会。边缘计算将在物联网和 AR/VR 领域大展拳脚。

安全模型的变化

因为对内核访问方面的限制,部署在容器中的应用程序相对安全。在 VM 环境中,虚拟设备驱动器是唯一暴露可见性的地方。而在容器环境里,操作系统提供了系统调用,信号源也变得更加丰富。之前,管理员需要在 VM 中安装代理,但那样太复杂了,需要管理太多的东西。容器提供了更清晰的可见性,相比 VM,与容器的集成会更加容易。

451 Research 公司发布的一份调查报告表明,安全性是影响容器普及的最大障碍。在一开始,安全漏洞就已成为容器环境最主要的问题。随着越来越多的容器镜像的发布,确保这些镜像不含有漏洞便成为当务之急。随着时间的推移,容器镜像扫描和认证成为了一种有利可图的生意。

在 VM 环境中,hypervisor 扮演着访问控制点的角色,而对于一个具备内核访问权限的容器来说,它可以访问内核上的其他所有容器。因此,使用容器的企业必须限制容器与宿主机之间的交互行为以及容器将会执行的系统调用。确保宿主机的 cgroup 和 namespace 配置妥当也是非常重要的一点。

传统的防火墙通过 IP 地址规则来控制网络流量。不过,这种技术无法在容器环境中使用,因为动态编配需要重用 IP。在生产环境,运行时攻击检测是非常关键的安全手段,通过构建容器指纹和定义行为基准,就可以很容易检测出异常行为,并把攻击者隔离在沙箱中。451 Research 公司的报告指出,受调的 52% 企业在生产环境中使用了容器,可见,在容器环境中使用运行时攻击检测十分有必要。

从 REST 到 GraphQL

GraphQL 是 Facebook 于 2012 年创建并于 2015 年开源的一套查询语言 API 规范。GraphQL 的类型系统允许开发者自己定义数据 schema,可以增加新字段,也可以删除旧字段,这些都不会影响已有的查询,也不需要修改客户端。GraphQL 非常强大,因为它没有与特定的数据库或存储引擎绑定在一起。

GraphQL 服务器使用一个单独的端点来提供所有的功能。只要定义好资源之间类型和字段的关系(这个与 REST 端点不太一样),GraphQL 就可以跟踪属性之间的关系,在单个查询中从多个资源获取数据。在使用 REST 时,可能需要为单个请求加载多个 URL,这样不仅增加了网络跳转,还拖慢了查询速度。通过减少网络跳转,GraphQL 降低了单个数据请求所要耗费的资源。GraphQL 返回的数据通常是 JSON 格式。

使用 GraphQL 还有其他好处。首先,客户端和服务器端之间解耦开了,这样就可以分开维护。GraphQL 使用相似的语言进行客户端与服务器端之间的通信,所以调试更加容易了。查询结构与服务器端返回的数据结构完全匹配,因此,相比其他语言,如 sql 或 Gremlin,GraphQL 更加高效。查询本身就反映了响应消息的结构,所以可以很容易地检测出差异,如果没有正确处理某些字段也可以很容易识别出来。因为查询更简单了,整个流程也变得更稳定。虽然说 GraphQL 规范主打支持外部 API,但我们发现将它用在内部 API 中也很不错。

GraphQL 的用户包括 Amplitude、Credit Karma、KLM、纽约时报、Twitch、Yelp 等。去年 11 月,亚马逊推出的 AppSync 就提供了 GraphQL 支持,可见它有多么流行。在存在 grpc 和 Twitch Twirp 这些 rpc 框架的前提下,看着 GraphQL 的发展真是一件有趣的事情。

混沌工程浮出水面

混沌工程最初由 Netflix 发起,后来亚马逊、谷歌、微软和 Facebook 也开始实践。混沌工程的目的在于改进系统的确定性,以便应对生产环境的各种问题。混沌工程经历了十年的发展。最初,Netflix 开发了 Chaos Monkeys,用它在生产环境关闭部分服务,后来演变成故障注入测试和 Chaos Kong,用在更大规模的环境中。

从表面上看,混沌工程只是为了向系统注入混乱。尽管通过破坏系统来发现问题是件有趣的事情,但这样做并不一定会带来生产力的提升或者给我们提供有用的信息。实际上,混沌工程不只是注入故障那么简单,它还可以制造流量高峰、非正常的请求等,用以发现已经存在的问题。除了可以用它验证假设,还可用它来发现系统的新属性。通过发现系统弱点来改进系统弹性,以免造成糟糕的用户体验。

混沌工程通过对系统进行全面的测试来改善稳定性。随着工程师们在提升系统健壮性方面所做的工作越来越多,混沌工程似乎会变得越来越为人们所接受。

随着混沌工程成为主流,它可能会以开源项目的形式、商业的形式甚至是服务网格的形式来实现。

最后给大家推荐一个Java架构方面的交流学习群:698581634,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系,主要针对Java开发人员提升自己,突破瓶颈,相信你来学习,会有提升和收获。在这个群里会有你需要的内容  朋友们请抓紧时间加入进来吧。

--结束END--

本文标题: 2018年5大微服务架构发展趋势

本文链接: https://www.lsjlt.com/news/231548.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 2018年5大微服务架构发展趋势
    服务网格白热化服务网格是一个专注于服务间通信的基础设施层,也是目前最受关注的与云原生有关的话题。随着容器的普及,服务拓扑变得越来越动态化,这对网络功能提出了更多的要求。服务网格通过服务发现、路由、负载均衡、健康检测和可观察性来管理流量,简...
    99+
    2023-06-02
  • PHP微服务架构的发展趋势
    PHP是一种强大的服务器端脚本语言,被广泛应用于Web开发领域。随着互联网技术的不断发展和微服务架构的兴起,PHP的应用范围也在不断拓展。本文将探讨PHP微服务架构的发展趋势,并通过具...
    99+
    2024-04-02
  • JavaScript MVVM 架构 in 2023:趋势和发展
    引言 MVVM(Model-View-ViewModel)架构是构建交互式 Web 应用程序的流行选择。它提供了一种数据与 UI 分离的方法,允许开发人员专注于业务逻辑和用户体验。本文将深入探讨 2023 年 MVVM 架构的最新趋势和...
    99+
    2024-03-03
    MVVM、Vue、Angular、React、数据绑定、单向数据流
  • Go语言微服务框架的发展趋势与前景展望
    Go语言作为一种高效、并发性强的开发语言,近年来在微服务框架的应用上越发受到关注。本文将探讨Go语言微服务框架的发展趋势与前景展望,并提供具体代码示例,以便读者更好地了解这一领域的发展...
    99+
    2024-03-11
    框架 趋势 微服务 go语言
  • Gartner公布2019年十大战略科技发展趋势
      近日,Gartner公布了各企业机构须在2019年了解和关注的首要战略科技发展趋势。Gartner将战略科技发展趋势定义为具有巨大颠覆性潜力、脱离初期阶段且影响范围和用途正不断扩大的战略科技发展趋势;这些趋势在未来五年内迅速增长、高度波...
    99+
    2023-06-03
  • 云服务器发展趋势
    云服务器是一种基于云技术的服务器,通常由互联网服务提供商提供,旨在为用户提供弹性、可靠的云存储服务。以下是云服务器的发展趋势。 1.更多的可用性和可靠性:随着应用程序数量的增加,云服务器需要提供更高的可用性和可靠性。为了满足这些需求,一些...
    99+
    2023-10-26
    发展趋势 服务器
  • C++ 服务器架构的未来发展趋势和最佳实践
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-14
  • Teradata在云原生架构和微服务化部署方面的发展趋势和优势有哪些
    Teradata在云原生架构和微服务化部署方面的发展趋势和优势包括: 弹性扩展性:Teradata在云原生架构下可以轻松实现弹性...
    99+
    2024-04-09
    Teradata
  • 云服务器发展趋势分析
    云服务器是一种基于云技术的计算服务,它通过互联网连接到用户的计算资源,为用户提供稳定、高效的计算服务。 以下是云服务器的发展趋势及其未来发展趋势。 云服务器性能优化:为了提高云服务器的性能,云服务器厂商需要不断优化服务器内存、CPU、硬...
    99+
    2023-10-27
    发展趋势 服务器
  • Node.js 事件驱动架构的未来发展趋势:值得关注的五大方向
    1. 微服务架构的兴起 微服务架构已经成为构建现代Web应用的主要模式。微服务架构将应用分解为多个独立的小服务,每个小服务都有自己的责任和边界。使用微服务架构可以提高应用的的可扩展性、可维护性和容错性。Node.js 事件驱动架构非常适...
    99+
    2024-02-07
    Node.js 事件驱动架构 异步编程 非阻塞IO 高扩展性 高并发性 高性能 微服务 分布式系统 云计算 物联网 人工智能
  • PHP 微服务架构的未来:趋势、创新和最佳实践
    微服务架构已成为构建现代化、可扩展且维护性良好的 Web 应用程序的流行方法。 PHP 作为一种成熟的编程语言,在微服务开发中有着广泛的应用。本文将探讨 PHP 微服务架构的未来,介绍最新趋势、创新技术和最佳实践,帮助您构建高性能、可扩...
    99+
    2024-02-16
    PHP 微服务 Docker Kubernetes 分布式系统
  • 云服务器发展趋势分析报告
    多云管理:随着越来越多的用户将自己的应用部署在多个云服务商上,云服务器需要支持不同的云服务商,并进行多云管理。 弹性计算:云服务器可以提供弹性计算服务,用户可以根据自己的需求来调整计算资源的使用情况,以提高计算效率。 虚拟化技术:云服务器...
    99+
    2023-10-27
    发展趋势 分析报告 服务器
  • Java Jersey框架的未来发展趋势,下一个十年将如何演变?
    微服务 Java Jersey框架非常适合开发微服务。微服务是一种软件架构风格,它将应用程序分解为一组独立的服务,这些服务可以通过HTTP等轻量级通信协议相互通信。微服务架构具有许多优点,包括可扩展性、可维护性和可部署性。随着微服务架构...
    99+
    2024-02-27
    Java Jersey框架、RESTful Web服务、微服务、云计算、物联网
  • Go语言服务端开发的技术趋势与发展展望
    标题:Go语言服务端开发的技术趋势与发展展望 随着互联网技术的飞速发展,Go语言作为一种高效、可靠的编程语言,得到了越来越多开发者的青睐。特别是在服务端开发领域,Go语言以其并发性能优...
    99+
    2024-04-02
  • PHP微服务架构的优势与挑战
    PHP微服务架构的优势与挑战 随着互联网技术的不断发展,微服务架构已成为当前热门的话题之一。微服务架构通过将一个应用拆分成多个小型服务,每个服务都可以独立部署、独立升级,从而实现更好的...
    99+
    2024-04-02
  • 阿里云服务器发展趋势从云计算到AI时代
    阿里云服务器是阿里巴巴集团推出的一款云计算产品,为用户提供高效稳定的云计算服务。随着云计算技术的不断发展,阿里云服务器也在不断进行创新和升级,以满足用户的需求。本文将详细介绍阿里云服务器的发展趋势,从云计算到AI时代。 一、云计算时代的阿里...
    99+
    2023-12-14
    阿里 发展趋势 服务器
  • 如何应对大规模的微服务架构?
    随着互联网技术的不断进步,微服务架构已经成为了越来越多企业的首选。它具有高度解耦、易于扩展、面向业务、技术栈多样等诸多优点,能够满足复杂业务场景下的需求。但是,随着业务的日益扩展,微服务架构也面临着许多挑战,如应用复杂、运维困难、监控不易等...
    99+
    2023-05-17
    微服务架构 大规模应用 架构应对策略
  • 微服务云架构-Swagger2构建强大的RESTful API文档
    在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。如下所示,我们通过@ApiOperation注解来给API增加说明、通...
    99+
    2023-06-05
  • 阿里人工智能云服务器未来云计算的发展趋势
    随着科技的发展,云计算已经成为当今社会不可或缺的一部分。而在众多云计算服务商中,阿里人工智能云服务器凭借其稳定、安全、高效的特点,吸引了大量的用户。本文将深入探讨阿里人工智能云服务器的特点和未来发展趋势。 阿里人工智能云服务器是一款基于阿里...
    99+
    2023-11-10
    阿里 人工智能 发展趋势
  • Golang技术在微服务架构中是否具有优势?
    go 技术在微服务架构中凭借并发性、安全性、高效性优势而备受青睐。其轻量级 goroutine 和 channel 特性增强了并发处理,内置的安全特性保障了数据安全,而编译后的高效机器码...
    99+
    2024-05-10
    golang 微服务
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作