点击““Java编程鸭”关注并标记星星
更多精彩的第一时间直达
作者:风平浪静
链接: juejin.im/post/6844904086601465870
这几年,微服务这个概念越来越火了。 火有多大呢? 2019年的一项统计显示,在两千家企业中,45%使用微服务,16%正在实验开发和测试微服务体系结构,24%正在准备微服务变革,剩下的15%
微服务到底有什么好? 微服务于2013年提出,短短几年发展如此迅速。 微服务体系结构可以实现由小型自主服务组成的一个整体APP应用,各组成部分之间松散耦合,复杂性低,各部分可以独立定位,易于纠正错误和引入新特性,并独立扩展可在不同技术堆栈之间使用不同框架、不同版本的库以及不同的操作系统平台。
对于大中型体系结构系统来说,微服务更方便,微服务成为许多企业体系结构重构的方向,同时也对修订者提出了更高的挑战。 目前有很多常用于微服务构建的框架,有助于微服务体系结构的构建。
Java语言相关微服务框架
Spring Boot
Spring Boot旨在简化新spring APP应用程序的初始构建和开发过程,2017年64.4%的受访者决定使用Spring Boot。 这可以说是最受欢迎的微服务开发框架。 利用Spring Boot开发的便利性,轻松开发分布式系统基础架构(如部署中心、注册和负载平衡),实现一键启动和一键部署。
Spring Cloud
Spring Cloud是一系列框架的总和,基于http(s )的RETS服务构建服务体系。 Spring Cloud有助于架构师构建完整的微服务体系技术生态链。
Dubbo
Dubbo是阿里巴巴开源分布式服务化治理框架,通过RPC请求方式进行访问。 Dubbo是在阿里巴巴的电商平台中逐步探索发展而形成的,经历了复杂的业务高并发挑战,比Spring Cloud的开源时间还早。 现在,蚂蚁、京东、当当、汽车旅行、去哪里等几家企业都在使用Dubbo。
Dropwizard
Dropwizard可以将Java生态系统各问题域中最好的构建集成在一起,快速创建rest风格的后台,还可以集成Dropwizard核心以外的项目。 国内使用的Dropwizard还很少,资源也很少,但与Spring Boot相比有利于轻量化,同时如果使用过Spring,基本上也会使用Spring Boot。
Akka
Akka是用Scala编写的库,可用于易于编写、容错和可伸缩的Java和Scala actor模型。 使用Akka可以实现微服务集群。
Vert.x/Lagom/ReactiveX/Spring 5
这四个框架主要用于响应时间服务开发,响应时间本身多用于提高性能,而与微服务无关,但也可以与微服务相结合或用于提高性能。
. Net相关微服务框架
.NET Core
. NET Core是专门为模块化微服务体系结构设计的,是一个跨平台APP应用程序开发框架,是微软开发的第一个正式版本。
Service Fabric
Service Fabric是微软开发的一个微服务框架,许多基于Service Fabric构建的云服务都在Azure中使用。
Surging
Surging是一个基于RPC协议的分布式微服务技术框架,基于. NET Core。
Microdot Framework
Microdot Framework用于编写定义服务的逻辑代码,便于与MicrosoftOrleans集成,而不解决分布式系统开发的难题。
Node.js相关的微服务框架
Seneca
Seneca是Node.js的微服务框架开发工具,可用于编写可在产品环境中使用的代码。
Hapi/Restify/LoopBack
这三个框架分工不同,前两个适合开发简单的微服务后端系统,第三个适合大型复杂的APP应用程序开发,也适合构建现有的微服务。
o相关微服务框架
Go-Kit/Goa/Dubbogo
Go-Kit是分布式开发的工具集合,适合在大型业务场景中构建微服务;Goa是用Go语言构建的微服务框架; Dubbogo是一个与阿里巴巴开源Dubbo兼容的谷歌微服务框架。
Python相关微服务框架
与Python相关的微服务框架非常少,常用的是Nameko。 Nameko使微服务的实现更加简单,同时提供了丰富的功能。 例如,负载平衡支持、服务发现易于使用,例如依赖自动注入,但存在限速、超时和权限机制不健全等缺点。
总结
微服务已经成为许多大型互联网公司的选择,对于想成为架构师和架构师的工程师来说,学习微服务不仅要通过相关框架来实现,而且还要掌握具体的使用方法,难以在具体实践中体现
原文链接: http://suo.im/66bi0x
结束
读正文有收获吗? 请更多的人关注“Java编程鸭”,提高Java技能关注Java编程鸭微信公众号。 在后台回答。 缙农大礼包可以获得最新整理的技术资料。 涵盖Java框架的学习、架构师的学习等! 如果文章有用的话,看一下,转发吧。 谢谢您的支持((*^__^* ) )。