zoukankan      html  css  js  c++  java
  • 落地微服务架构v2.0

    网关+服务治理

    将服务注册到Consul中,需要首先系统该插件。

    Ocelot:网关组件,腾讯和微软都在使用。

    可以使用dotnet run命令启动.NET Core项目,启动时可以在命令时传递监听的IP、端口、域名等参数。

    Consul类似于Nginx

    Consul:用于服务注册与发现。

    Ocelot不会对服务进行健康检查,仅仅根据配置文件完成转发,Consul会对微服务进行健康检查。

    网关可以完成集群和负载均衡,但是没办法做服务发现先和自动下线。

    网关也可以进行集群化部署。

    Consul和Ocelot都需要搭建自己的web站点提供服务,其中Consul具备配置页面查看对应状态。

    Consul仅仅实现服务的发现,返回对应服务的端口地址等。

    Gateway实现路由的转发,也可以配置实现资源分配策略,如轮询、权重、随机等。

    在Gateway中可以使用MemoryCache实现缓存的管理,可以使用Redis。

    服务治理:超时、熔断、限流、雪崩、合并请求。

    Polly:用于微服务治理,雪崩效应、服务治理、熔断、降级、重试。

    雪崩:在单位时间内,服务A调用服务B,服务B调用服务C,C宕机了,调用服务C的相关服务也宕机了,导致一连串的效应,解决雪崩效应的方案有限流、熔断、异步架构。

    熔断:在单位时间内,异常了多少次,就指定时间内,调用服务的时候,直接返回失败。

    降级:在指定特殊情况下,可以降低服务等级,甚至是关闭。

    限流:单位时间内允许多少次调用。

    重试:在服务调用失败的时候,指定重新去调用几次,成功就成功了,失败了几次之后就失败。

    Polly的功能:重试(Retry)、熔断(Circuit-Breaker)、超时检测(Timeout)、缓存(Cache)、降级(Fallback)。

    AOP:面向切面编程,Aspect Oriented Programming

    希望在调用服务之前,组装Polly规则,希望这个规则可以自由组装,可以使用API+Attribute实现。

    AOP可以在调用服务之前添加规则,规则要灵活拼装,可以把规则定义成各种特性,有几个规则就定义几个特性,标记特性就标识要使用这个规则,就读取被调用者标记了哪几个特性,把特性中的规则拼装起来。

    如何封装?可以用中间件的形式,委托多层嵌套的方式实现。

  • 相关阅读:
    jQuery-03
    正则表达式
    文件下载
    Shiro笔记
    MyBatis笔记
    Spring5笔记
    JavaScript笔记
    smartsvn安装和使用 —— svn工具linux版
    网易云歌单导入qq音乐
    svn版本回滚 —— svn使用笔记之三
  • 原文地址:https://www.cnblogs.com/zhang-guansheng/p/13334707.html
Copyright © 2011-2022 走看看