• 微服务演变:微服务架构介绍



    微服务演变:微服务架构介绍

    1.单体架构:自营,秒杀,超市,生鲜,支付

    2.垂直拆分:自营,秒杀,超市,生鲜,支付

    3.分布式:公用的部分公用(解决一致性问题)

    4.微服务架构(v1.0,v2.0,v3.0):是一个用分布式服务拆分业务逻辑,完成解耦的架构模式:
    微服务就是把BLL 的方法封装成一个服务,用网络调用。
    网关:对服务的管理
    集群:多台服务器做相同的事(一台死机了不影响服务的正常运行)
    1.集群怎么调用,怎么管理,服务的发现:nginx
    1.V1.0集中式代理nginx: 基于nginx的负载均衡
    2.V2.0基于客服端嵌入:consul 服务注册,服务发现,动态健康检查
    网关:GATEWAY
    调用顺序:前端-nginx-调用集群网关,分发调用-consul server 返回调用列表-调用相应的服务

    3.V3.0服务网格:service mesh
    2.网关调用服务,服务之间调用

    APOLLO:配置中心
    e-ceptionless:分布式日志组件.c#;
    logstash:分布式日志:Java
    docker: 对应用程序的管理配置
    kubernetes:k8s对docer的管理
    Jenkins:对项目的管理,发布,测试

    缓存:redis,mongoDB,redis分布式锁
    rabbitMQ:分布式事务
    主数据库,从数据库,备份库


    4。 nginx:负载均衡:配置接口地址并设置权限:
    1.客户端访问nginx;
    2.nginx根据配置文件服务接口的地址和权限动态访问不同的接口地址;
    缺点是:新增接口地址了要配置;

    5.consul:服务发现和调用:保存清单好发现
    1.客户端访问consul;
    2.consul自动发现新增的IP地址接口清单和调用;并且健康检查,从清单里去掉不能用的IP接口地址
    需要写代码实现自动发现接口和健康检查

    consul功能:
    1.注册时指定回调地址;
    2.定时调用检查状态;
    3.自动下线,上线。
    4.数据同步
    5.可以做分布式锁

    consul集群测试:
    1.key-value数据同步;
    2.启动自动选举;
    3.数据恢复等。

    redis 分布式锁

    缺点:
    1.暴露端口: 网关解决
    2.consul 死机:集群解决


    负载均衡策略:
    1.均衡策略
    2.轮询策略
    3.权重策略
    4.随机策略

    6.网关,搭建ocelot本地映射;
    consul负载均衡
    docker构建集群

    7.网关集群
    consul集群
    服务集群
    官网:https:threemammals.com/ocelot
    git:https://github.com/threemammals/ocelot

    8. ocelot 网关搭建:
    1.添加ocelot 在程序包,
    ocelot.provider.consul包:
    2.修改starup.cs
    3.添加转发配置文件

    docker + gateway(ocelot) + consul
    ocelot:功能:负载映射, 负载均衡,服务治理,不支持配置多个consul
    ocelot.provider.consul: 功能:负责管理实例伸缩,健康检查,只轮询健康的接口;

    docker ps -a
    docker rmi -f
    docker composecore up //启动服务
    clear

    9.微服务用到的工具:
    skyqpm:全链路追踪
    apolo:集中配置中心,配置文件(ocelot,nginx)
    e-ceptionless:日志
    logstash kibans ;日志
    jenkins+git: 快速测试,快速部署,持续继承,git
    docker:部署,管理镜像
    kubernetes=k8s:管理docker的镜像,容器编排
    consul:分布式锁:
    rabbitMQ:分布式事务:
    mongoDB:高并发大量数据读写
    identityserver4:鉴权授权
    ocelot.provider.polly:瞬态故障处理

    GRPC,

    ocelot gateway:作用:
    1.缓存:ocelot.catch.cachemanager 包
    2.服务治理;
    3.负载均衡;
    4.路由转发;
    5.超时,重试
    6.雪崩效应:
    7.熔断机制:限制请求数,请求的错误率达到阈值,启动熔断如10秒(针对服务器错误,不针对代码错误)
    8.限流,漏电保护器(保险丝):限流,限制单位时间内的请求数(如6秒内最多5个请求,否则等待30秒后在请求)apolo
    100QPS:每秒处理100个请求

    降低用户体验来提高系统的可用性
    单体服务开发越来越少
    分布式,微服务,云服务开发越来越多。

    ocelot.provider.polly:包,瞬态故障处理

    10.identityserver4:鉴权授权 网关层
    session:是服务端-负载均衡了下次访问不到;
    redis分布式sesiion:任何一个服务的任何异常请求都要访问redis -如何有的服务在别的局域网--session是行不通。
    是asp.net core 的框架,实现了单点登录

    identityserver4 3.1.3 包;


    jwt.io


    11.sso 单点登录
    session-token(sso)--json web token
    非对称可逆加密(加解密,不可推到)
    公开解密Key--公钥
    私藏加密Key--私钥

    客户端
    nginx
    gateway of ocelot
    nginx of consul
    consul 集群;
    服务实例集群;

    日志,异常处理,授权

    47.95.2.2:11500/ui/dc1


    jwt.io

    12.docker 架构--容器
    client
      containers
        images
          registry

  • 相关阅读:
    帮助你生成分享和显示社交媒体网络按钮的jQuery插件 #50C1AL java程序员
    Storyboard多View的切换 [xcode 4.4.1]
    ObjectiveC Enum 枚举数据类型解析
    在IOS中使用KeychainItemWrapper保存用户名和密码实现记住密码功能
    10个迷惑新手的Cocoa&Objectivec开发问题
    关于分类(category)和类的扩展(extensions)的验证
    解决mac创建的压缩包,window下解压乱码的问题
    xcode快捷键大全
    解决Shockwave flash在chrome浏览器上崩溃的问题
    嵌入式内核与文件系统烧写
  • 原文地址:https://www.cnblogs.com/csj007523/p/13621078.html
Copyright © 2020-2023  润新知