美文网首页
微服务容器化实践之微服务带来的问题以及常见的解决方案

微服务容器化实践之微服务带来的问题以及常见的解决方案

作者: 御风_2fd9 | 来源:发表于2019-03-03 16:15 被阅读3次

    微服务间如何通讯?

    1.1从通讯模式角度考虑
    一对一还是一对多?
    同步还是异步的?

    一对一 一对多
    同步 请求响应模式,最常见 ——————
    异步 通知/请求异步响应 发布订阅/发布异步响应

    1.2从通讯协议角度考虑
    1.2.1Http协议
    使用http实现rest风格的Api
    1.2.2RPC
    如何选择RPC框架?
    I/O、线程调度模型、序列化方式、多语言支持、服务治理
    流行的RPC框架
    Dubbo/Dubbox、Thrift、Motan、Grpc


    image.png

    1.2.3MQ消息机制

    微服务如何发现彼此?

    传统服务vs微服务


    image.png

    对于传统服务而言,Nginx通过方向代理,找到服务器的ip和
    端口号,并同过反向代理和轮询找到服务的提供者。“发现”,其实并非发现,因为在Nginx的配置文件中,域名和ip
    端口都是写死的,配置文件的更新需要运维人员手动修改

    微服务如何发现?
    客户端发现
    客户端通过查询注册中心注册信息,来得到微服务的注册
    列表,然后通过负载均衡的策略进行服务调用


    image.png

    服务端发现
    在服务端发现中,客户端不再需要访问注册中心,
    不需要通过访问注册中心得到一个微服务列表了。
    而是通过访问一个具有固定的域名或ip的、具有服务发现和负载均衡的服务。再由它将请求转发给后台服务,并且将应答回传。
    这个服务在中间起到了一个类似代理人的作用。将注册中心的内容
    维护到自己内部,当客户端在请求的时候,它会知道客户端
    需要的是哪个服务,并通过负载均衡策略选择一个后端。


    image.png

    微服务怎样部署、更新、扩容?

    服务编排
    包括服务发现、部署、更新、扩容等
    流行的服务编排工具
    Mesos、Docker Swarm、Kubernetes

    相关文章

      网友评论

          本文标题:微服务容器化实践之微服务带来的问题以及常见的解决方案

          本文链接:https://www.haomeiwen.com/subject/xstmuqtx.html