zoukankan      html  css  js  c++  java
  • 微服务系列----核心

    微服务核心

    1.服务发现,调用方如何发现服务(调用服务出现变动,能找到他)

    2.负载均衡,如何调用服务(多个服务实例,如何优先调用)

    分布式的解决方法

    1.集中式代理---Nginx        2.客户端嵌入--Consul           3.网格服务-Service Mesh

    集中式代理---Nginx

    描述:Nginx自身可以实现负载均衡,但需要通过手动添加服务配置,且调度策略归Nginx

    配置步骤:

    1.nginx.conf里 server----listen

    2. location / { proxy_pass http://Microservice; }

    3.upstream Microservice{ server localhost:5726; server localhost:5727; server localhost:5728; }

    4.start nginx.exe

    备注:端口号跟webapi里的端口号一致

    客户端嵌入--Consul

    描述:Consul可以实现服务的自动注册与发现,也可以实现健康检查,但是自身不可以实现负载均衡

    Consul实现过程:客户端---Consul---发现服务实例----定期健康检查---返回给Consul

    Consul实现微服务的步骤:

            1.负载均衡(客户端自己决定)

            2.服务注册与发现

            3.健康检查

    Consul优点:
    功能强大,自动发现-自动下线
    Consul缺点:
    客户端集成复杂(负载均衡在客户端实现),客户端决定调度策略

    Consul实现步骤:
    A.服务实例注册
    B.客户端从Consul里发现服务实例
    C.客户端调用服务实例

    Consul.exe命令行启动
    consul.exe agent -dev
    访问地址:http://localhost:8500/ui/dc1/services

    服务启动时注册,且注册一次

    WebApi向Consul里注册
    在Nuget里添加Consul
    1.在startup里注册服务实例
    2.在客户端拿到url
    3.通过URL找到实例

    4.服务挂了,影响业务,心跳检查

    Consul跟Nginx对比
    1.Consul不用手动添加服务实例,有健康检查,可以调用根据url调用实例,但是得客户端实现负载均衡
    2.Nginx本身可以实现负载均衡,但是得手动添加服务实例

    网格服务-Service Mesh

    描述:
    每台电脑 里面都有一个Sidercar ,负责调度策略,负载均衡,健康检查

    实现:
    主机+代理

    优点:

    独立性,自己玩自己的,不受别人的影响

    缺点:
    复杂度上升,每台电脑得安装

  • 相关阅读:
    微信小程序开发之初探
    C# 利用SharpPcap实现网络包捕获嗅探
    C# SharpMap的简单使用
    C# 实现中国象棋【棋盘,棋子】
    C# 实现FTP客户端
    C# 实现连连看功能
    C# 实现截图软件功能
    C# 利用PrintDocument定制打印单据
    驰骋工作流引擎设计系列05 启动流程设计
    驰骋工作流引擎设计系列04 流程引擎表结构的设计
  • 原文地址:https://www.cnblogs.com/debugsxs223/p/12929647.html
Copyright © 2011-2022 走看看