首页 > 编程知识 正文

微服务技术架构图,微服务架构有哪些框架

时间:2023-05-04 17:02:10 阅读:33245 作者:3733

这几年,微服务这个概念越来越火了。 火有多大呢? 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中使用。

ify">Surging

Surging是基于RPC协议的分布式微服务技术框架,基于.NET Core而来。

Microdot Framework

Microdot Framework用于编写定义服务逻辑代码,不需要解决开发分布式系统的挑战,能够很方便的进行MicrosoftOrleans集成。

Node.js相关微服务框架

Seneca

Seneca是Node.js的微服务框架开发工具,可以用于编写可用于产品环境的代码。

Hapi/Restify/LoopBack

这三种框架的分工不同,前两种更适合开发简单的微服务后端系统,第三种更适合用在大型复杂应用开发,还可以用在现有微服务上的构建。

Go相关微服务框架

Go-Kit/Goa/Dubbogo

Go-Kit是分布式开发的工具合集,适合用于大型业务场景下构建微服务;Goa是用Go语言构建的微服务框架;Dubbogo是和阿里巴巴开源的Dubbo能够兼容的Golang微服务框架。

Python相关微服务框架

Python相关的微服务框架非常少,用的比较多的是Nameko。Nameko让实现微服务变得更简单,同时也提供了很丰富的功能,比如支持负载均衡、服务发现还支持依赖自动注入等,使用起来很方便,但是有限速、超时和权限机制不完善等缺点。

总结

微服务已经成为很多大型互联网公司的选择,对于架构师和想要成为架构师的工程师来说,掌握微服务不仅要学会使用相关框架来实现,还要掌握具体用法,在具体的实践中仍然要避开很多坑。

原文链接:https://juejin.im/post/5e6786f0f265da571a39e108

基于Kubernetes的DevOps实战培训

基于Kubernetes的DevOps实战培训将于2020年6月19日在上海开课,3天时间带你系统掌握Kubernetes,学习效果不好可以继续学习。本次培训包括:容器特性、镜像、网络;Kubernetes架构、核心组件、基本功能;Kubernetes设计理念、架构设计、基本功能、常用对象、设计原则;Kubernetes的数据库、运行时、网络、插件已经落地经验;微服务架构、组件、监控方案等,点击下方图片或者阅读原文链接查看详情。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。