几种微服务技术的对比

一、服务架构分类:

   1、服务架构大致分为两类,分别为单体架构和分布式架构

        (1)单体架构:应用程序无论如何分层,都是一个解决方案,或者说都是一个项目。简单的理解就是将所有的功能集中在一个项目中开发,打成一个包部署。

          优点:架构简单;部署成本低;集中管理;没有分布式的损耗,都是系统进程内的通信等。

          缺点:不好维护,耦合度较高;集群负担大;无法应付高并发和搞数据量的场景;迭代更新速度慢等。

          适用于一些小型项目,例如:学生系统

        (2)分布式架构:应用程序根据业务功能对系统进行不同粒度大小的拆分,每个业务模块都将会作为一个独立的项目开发,称为一个服务。

          优点:降低了服务的耦合度;有利于系统服务的升级拓展;隔离性强;分布式管理;模块代码具有较高的复用性;等。

          缺点:运维、监控、部署难度提高;架构复杂;网络传输分布式损耗成本;不适合高并发和大数据的环境等。

          适用于一些大型项目,例如:京东、淘宝

二、微服务架构

        微服务是一种经过良好架构设计的分布式架构方案,微服务架构有以下特征:

①单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务功能,做到单一职责,避免重复开发。

②面向服务:微服务对外暴露业务接口。

③自治:团队独立、技术独立、数据独立(独立的数据库)、部署独立。

④隔离性强:服务调用做好隔离、容错、降级、避免出现级联问题。

三、微服务结构中的构成元素

   服务集群:将一个服务拆分成不同的模块组件,而每个拆分的模块组件都要遵循单一职责的原则以及面向服务,对外暴露接口。

   注册中心:记录微服务集群中每一个服务的ip、端口、以及功能等。负责拉取或注册服务信息。

   配置中心:可以统一的管理整个服务群里的配置,可以实现配置的热更新。

   服务网关:对访问发起者的身份的校验,并且把用户的请求路由(负载均衡)到具体的服务上。

   分布式缓存:为了应付高并发的数据访问,将用户需求首先放置于分布式缓存中,未命中之后再去数据库中查询。

   分布式搜索:是将数据分散存储在多台独立的设备上。利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息。

   消息队列:是一种先进先出的队列型数据结构,实际上是系统内核中的一个内部链表。通过消息队列实现事件总线,基于事件和状态构建微服务和工作队列的调度与执行机制。

   分布式日志服务:统计整个集群中所有服务的运行日志,统一的进行存储和分析等。

   系统监控链路追踪:实时监控和追踪每个服务节点的运行状态、CPU的负载、内存的占用等。

三、微服务技术的对比

微服务技术对比
Dubbo技术SpringCloudSpringCloudAlibaba
注册中心zookeeper、RedisEureka、ConsulNacos、Eureka
服务远程调用Dubbo协议Feign(http协议)Dubbo、Feign
配置中心SpringCloudConfigSpringCloudConfig、Nacos
服务网关SpringCloudGateway、ZuulSpringCloudGateway、Zuul
服务监控和保护dubbo-admin、功能较弱HystrixSentinel

SpringCloudAlibaba相当于整合兼容了Dubbo和SpringCloud两种架构。

阿里巴巴的Nacos的强大之处在于即支持Dubbo的远程调用,同样也支持Feign的远程调用。

四种常见微服务架构的企业需求:

①:SpringCloud+Feign

使用SpringCloud技术栈;服务接口采用Restful风格;服务调用采用Feign方式。

②:SpringCloudAlibaba+Feign

使用SpringCloudAlibaba技术栈;服务接口采用Restful风格;服务调用采用Feign方式。

③:SpringCloudAlibaba+Dubbo

使用SpringCloudAlibaba技术栈;服务接口采用Dubbo协议标准;服务调用采用Dubbo方式。

④:Dubbo原始模式(较为少见)

基于Dubbo的技术体系;服务接口采用Dubbo协议标准;服务调用采用Dubbo方式。

注:在学完黑马的Springboot微服务技术栈课程后根据自己所得做的笔记,方便毕业复盘,如若有错误之处,请各位大佬指正。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山工小張

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值