zoukankan      html  css  js  c++  java
  • 微服务

    什么是微服务

    微服务是一种架构风格或者是架构模式。提倡将单一的应用程序划分成一组小的服务。(将一站式应用,拆分成一个一个服务,彻底的解耦)

    微服务的优点

    1、开发简单,开发效率高,一个服务可能只干一件事情。
    2、微服务能够被小团队单独开发。
    3、微服务能使用不同的语言开发
    4、服务间是松耦合的,在开发和部署阶段都是独立的。

    微服务的缺点

    1、开发人员要处理分布式系统的复杂性

    微服务架构的核心问题

    1、服务很多,客户端该怎么访问?
    2、多个服务间如何通信?
    3、这么多服务,如何治理?
    4、服务挂了怎么办?

    解决方案

    1、Spring Cloud NetFlix 一站式解决方案
    api 网关 (zuul组件)
    Feign ---HttpClient ---Http通信方式(特点:同步,阻塞)
    服务注册发现:Euraka
    熔断机制:Hystrix

    2、Apache Dubbo Zookeeper 半自动,需要整合第三方
    没有api网关,找第三方组件,或者自己实现。
    通过Dubbo通信 (Dubbo 基于java开源,高性能 RPC通信框架)
    Zookeeper
    没有熔断机制:借助 Hystrix

    PS:Dubbo方案并不完善

    3、Spring Cloud Alibaba 一站式解决方案,更简单

    总结-解决问题:
    1:API 网关(解决服务路由问题)
    2:通信问题(HTTP,RPC)
    3:注册发现(解决高可用)
    3:熔断机制(服务降级,雪崩问题)

    微服务的优点:
    1、职责单一
    2、是松耦合的,开发和部署阶段都是独立的
    3、可以使用不同语言来开发
    4、易于理解,修改和维护

    微服务的缺点:
    1、开发人员要处理分布式系统的复杂性
    2、增加服务间的通信成本
    3、系统部署依赖(部署顺序依赖等)
    4、数据一致性问题
    5、系统集成测试

  • 相关阅读:
    NGINX下配置404错误页面的方法分享
    mysql 统计
    nginx日志中访问最多的100个ip及访问次数
    ubuntu下完全安装mcrypt
    ngxtop:在命令行实时监控 Nginx 的神器
    AngularJs 返回上一页
    nginx 报错 upstream timed out (110: Connection timed out)解决方案
    IAP 破解漏洞验证
    AceAdmin-v1.4.0 下载
    TP QQ 微信 微博登录
  • 原文地址:https://www.cnblogs.com/songl/p/14445980.html
Copyright © 2011-2022 走看看