常用微服务框架简介及优势
CSDN发表于 2020-09-08 17:42 次浏览
这几年来,微服务这个概念越来越火了,火到什么程度呢?2019年有一个统计说,两千家企业里,45%在使用微服务,16%在实验开发和测试微服务架构,24%在学习微服务准备转型,只有剩下的15%的企业没有使用微服务。微服务到底有什么好呢?常用的微服务框架是什么?下文简述了常用的微服务框架,我们一起来认识一下:
1.微服务简介
-
定义
-
微服务架构提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合。微服务架构是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制进行通信。
-
核心要素
-
优点
-
降低民单个服务复杂度
-
将原来偶合在一起的复杂业务拆分为单个服务,规避了原本复杂度无止境的积累。每一个微服务专注于单一功能,并通过定义良好的接口清晰表述服务边界。每个服务开发者只专注服务本身,通过使用缓存、DAL等各种技术手段来提升系统的性能,而对于消费方来说完全透明。
-
独立部署
-
由于微服务具备独立的运行进程,所以每个微服务可以独立部署。当业务迭代时只需要发布相关服务的迭代即可,降低了测试的工作量同时也降低了服务发布的风险。
-
容错性高
-
在微服务架构下,当某一组件发生故障时,故障会被隔离在单个服务中。 通过限流、熔断等方式降低错误导致的危害,保障核心业务正常运行。
-
可扩展性
-
单块架构应用也可以实现横向扩展,就是将整个应用完整的复制到不同的节点。当应用的不同组件在扩展需求上存在差异时,微服务架构便体现出其灵活性,因为每个服务可以根据实际需求独立进行扩展。
2.常用的微服务框架
2.1.java
-
dubbo
-
阿里开源的微服务框架,是一款高性能、轻量级的开源Java RPC框架,提供三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现
-
目前已经正式进入Apache孵化器
-
新版源码主页
-
新版文档
-
核心概念
-
Provider 暴露服务的服务提供方
-
Consumer 调用远程服务的服务消费方
-
Registry 服务注册与发现的注册中心
-
Monitor 统计服务的调用次数和调用时间的监控中心
-
springcloud
-
一系列框架的有序集合。利用SpringBoot简化分布式系统的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。它将目前各家公司开发的比较成熟服务框架组合起来,通过SpringBoot风格再封装屏蔽了复杂的配置和实现原理,给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包
-
springcloud中文文档
-
核心组件
-
Netflix Eureka 服务注册与发现
-
Netflix Ribbon 客户端负载均衡
-
Netflix Hystrix 服务熔断
-
Netflix Zuul 服务网关
-
Spring Cloud Config 分布式配置
2.2.python
-
nameko
-
开源的微服务框架,基于python的RPC框架
-
nameko文档
-
核心组件
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。