像点样的分布式/微服务系统需要具备的功能

如今项目介绍常提及SOA、微服务等名词。本文介绍分布式/微服务系统一般需具备的要素,重点介绍工作中常用的dubbo、springcloud、springcloudalibaba三种框架,还提及后续可能关注蚂蚁金服的sofa - rpc框架,并将按要素记录实现原理和使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在不管是什么项目,介绍的时候,不带点SOA,微服务,分布式,集群这样的名词,都不好意思开口。

那今天就正经点的说说这样的服务中,一般要具备哪些要素,以及具体的实现有哪些。

今天就介绍工作中常用的三种:dubbo,springcloud,spingcloudalibaba。后期要是有空,会看下蚂蚁金服的sofa-rpc框架。

dubbo:一种是阿里在维护的版本,另一种是apache在维护的版本。

dubbo在停了一段时间后,阿里重新捡起来维护,并贡献给了apache。今天对比的是阿里维护的版本。

springCloud:之前面试被各家面试官吹上天的spring全家桶,号称社区非常活跃。

springcloud不是什么框架,应该是一种生态。它提供了基于netfix的各种插件。使用起来也很简单。But,不幸的是,2018年12月12日,双12那天,netfix宣布,这个全家桶套件,全部进入维护期,不会再进行新功能的开发,加入(不知道之前那些吹捧springcloud永不凋落的各位面试官心理什么感受)。希望netfix能像阿里一样,后期继续捡起来,给我们开发者提供一些牛B的开发支持。

springCloudAlibaba:看名字就知道是阿里爸爸开源的项目,也是一套生态。其中替换了一些阿里自研的项目,比如注册中心,配置中心等。根据官网介绍,替换的这些套件,很多都是阿里多年双11大促积累的宝贵经验。

下面按照表格的方式罗列一下系统中具备的要素,以及各家提供的解决方案:

微服务/SOA系统具备的要素
功能:dubbospringcloudspringcloudalibaba其他我用过的
RPC具体实现基于TCP调用的rpc调用基于http调用的RPC调用基于http调用的RPC调用 

dubbo的TCP方式RPC

springcloudd的http方法roc

网关zuulgetaway zuul,gateway
负载均衡

① Random LoadBalance(随机均衡算法)

② RoundRobin LoadBalance(权重轮询均衡算法)

③ LeastAction LoadBalance(最少活跃调用数均衡算法)

④ ConsistentHash LoadBalance(一致性Hash均衡算法)

缺省时为Random随机调用

robbin/feignrobbin/feignnginx

robbin/feign,ngnix

dubbo提供的负载均衡

熔断/限流/服务降级 hystrixsentienl,hystrix hystrix,sentienl
监控/监控UI   skywalkingskywalking
配置中心zookeeper、xdiamondconfignacosapollo

xdiamond

zookeeper,nacos,apollo

注册中心zookeepereurekanacos zookeeper,eureka,nacos
分布式事务    基于补偿的方式实现
MQ    rabbitMq,kafka
数据库中间件   canalcanal
服务管理平台dubboAdmin nacos dubboAdmin,nacos
数据库UI    

phpMyAdmin

Yearning 介绍(SQL审核平台)

搜索引擎    elasticsearch
缓存    redis ecache
权限验证    shiro,spring Security
接口API提供方式    

swagger

apidoc

分布式定时任务    

elasticJob

XXL-Job

自动化运维    

jekins

docker

k8s

分布式锁    

基于redis的锁

基于数据库的锁

基于zookeeper的锁

后面的章节会根据要素独立,一项一项的记录一下实现的原理和使用方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值