微服务架构

一、微服务架构:

      一组小的服务;独立的进程;轻量级通信;基于业务能力;独立部署;无集中式管理;

二、微服务利弊:

      利:

         1、强模块化边界;
         2、可独立部署;
         3、技术多样性;

     弊:

        1、分布式复杂性;
        2、最终一致性;
        3、运维复杂性;
        4、测试复杂性;

 

三、中台战略:
1、技术中台:IaaS云平台--》PaaS云平台;  
2、业务中台:核心业务层;
3、业务前台:应用(APP)及第三方接入渠道;

 

四、微服务架构分层:
1、基础服务;
2、聚合服务;

 

五、技术架构体系:
1、接入层,接入外部流量;
2、网关层:接入网关或开放平台;
3、业务服务层:聚合 或基础服务层;
4、支撑服务:注册发现,集中配置,容错,监控告警,后台服务等;
5、平台服务:发布系统,集群资源调度,镜像治理,资源治理,IAM权限管控等;
6、基础设施,运维人员维护的计算机,网络,存储等;

 纵向: 
1、微服务开发框架;
2、持续交付流水;
3、端到端工具链;
4、工程实践与规范;

 

七、API网关原理及职责:
1、相当于一个门卫;
2、屏蔽内部细节,对外提供统一的接口;
3、职责:反向路由,安全认证,限流熔断,日志监控;

八、开源网关架构:
1、核心是serverlet;
2、ZuulFilter Runner,管理所有过滤器;  前置路由过滤器,过滤器,后置路由过滤器;
3、各过滤器中间通过request content共享信息;

 

 

九、Netflix服务路由发现体系:
1、两大核心 服务注册中心(Eureka)及网关Zuul;
2、基础服务注册到Eureka;
3、聚合服务可以从Eureka服务发现及注册;
4、网关从 Eureka中服务发现;

 

 

十:微服务配置中心的作用和原理:

未采用配置中心时的隐患:
1、配置不标准,不统一;
2、生产后,修改配置的时间较长,对业务影响较大;
3、没有审计功能,很难追溯谁对配置中心进行了修改;
采用配置中心(携程的Apollo阿波罗):
1、可以对链接/消息队列字符串进行配置;
2、动态配置(如限流阀值,业务开关),非常灵活;
3、通过 sync 异步的方式到本地文件缓存,提升高可用;

 

 

十一、微服务通讯方式RPC  REST

 

十二、架构治理:
1、开发人员专注业务逻辑;
2、框架对日志,服务注册发现进行管理;
3、好的微服务需要关注以下环节;

 

十二、微服务监控系统分层及监控架构:
1、端用户体验监控(性能,返回码,城市,地区,版本,系统等);
2、业务监控(核心指标监控,登陆注册,下单,支付等);
3、应用层监控(url,service,sql,cache可用率,响应时间,qps等);
4、系统层监控(物理机,虚拟机,cpu,memory,network,disk等);
5、基础设施监控(网络,交换机,网络流量,丢包,连接数等);

可以监控的方面:
1、日志;
2、metrics;
3、健康检查;
4、调用链;
5、告警;

agent收集现场日志信息;
log监控  使用--  ELK;
metrics  使用---  influxDB/Granfana;
健康检查机制 使用--Nagion工具;

 

 

十三、调用链监控:

 

 

十四、微服务容错限流如何工作:
1、Hystrix组件,把限流,熔断,隔离,降级的封装的组件;
2、把调用封装在 Hystrix Command之内,就具有以上四项功能;
3、封装以后的调用模式,有 Synchronous,Asynchronous,Reactive三种;
4、请求过来以后经过电路判断,如果不通,短路返回,则调用降级函数,如果没有降级函数,则抛出异常;
5、如果电路闭合,判断线路和资源是否允许,如果满了,会做限流,降级;
6、如果电路闭合,资源也支持,则会运行调用,如果超时,也会走降级流程;
7、如果执行成功,获取正确的响应返回到调用端;
8、过程中的任一环节信息都会以Metrics的方式返回给Hystric内部一个叫计算电路健康的组件 Calculate Lircuit Health;
9、组件计算整个调用的情况,反馈给内部的熔断器,作为指导下一次打开或关闭电路的依据;

 

 

十五、Docker部署及持续交付
1、微服务采用容器技术区别于传统交付技术,一是 解决环境一致性,二是解决镜像部署;
2、基于docer registry;
3、标准化流水线保证微服务质量,提升研发效率;
4、蓝绿发布,两个版本,蓝色版本和绿色版本;通过依赖路由切换流量到新版本,常常不是直接切换;而是通过渐进的方式切换,即灰度发布如下。
5、灰度发布,新版本上线可能有问题,不想把流量全部切换过去,比如先切10%,如果有问题就切换来,不会造成太大损失,如果10%没问题,在切20%,直至100%; 体现稳定性及灵活性。

 

十六、容器集群调度及发布体系

 

原文:https://www.bilibili.com/video/BV1FZ4y1H7yb?p=18

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值