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、系统集成测试

  • 相关阅读:
    使用SolrJ生成索引
    olr 性能调优 NO_NORMS
    关于 solr solrconfig.xml 的配置说明
    动态生成二维码并利用canvas合成出一张图片(类似海报、分享页)
    如何将打包好的文件做成一个APP
    vue路由对不同界面进行传参及跳转的总结
    移动端自适应布局的适配
    08年12月到1月15的工作
    继续被reject!
    虽然预料到结果,但还是感觉不爽!
  • 原文地址:https://www.cnblogs.com/songl/p/14445980.html
Copyright © 2011-2022 走看看