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

    1.微服务与微服务架构?

      传统的单体应用部署在一台服务器上,每个部分出现问题,则可能导致整个系统不能使用,而且整个系统会过于庞大。将这个单体应用拆分为多个子系统,每个子系统只负责实现部分模块,将其部署在多台服务器上,某个子系统出现问题,不太可能影响整个系统。

      微服务关注的是一个点,强调的是服务的大小,是针对具体某一个问题提供的服务应用。而微服务架构是一种架构模式,它提倡将一个应用划分为划分为多个小的服务,各个服务之间能够相互协调,互相配合。每个服务运行在独立的进程当中,服务之间采用轻量级通信方式通信。

    2.微服务的四个核心问题?

      (1)众多服务,客户端如何访问;

      (2)众多服务之间如何通信;

      (3)服务如何治理;

      (4)服务如果挂了怎么办。

    3.微服务解决方案?

      方案一:Spring Cloud NetFlix (一站式解决方案)

        如何访问:API网关,zuul组件

        如何通信:Feign-httpclinet-http通信方式

        服务注册发现:Eureka

        熔断机制:Hystrix

      方案二:dubbo+zookeeper(组件不够完整需要整合别人的)

        访问组件:第三方组件

        通信方式:rpc

        服务注册发现:zookeeper

        熔断机制:借助Hystrix

      方案三:Spring Cloud Alibaba(一站式解决方案 简单)

    4.微服务优缺点?

         优点:单一职责原则;

         每个服务足够小,代码容易理解,能够聚焦于一个指定的业务功能;

        开发简单,效率高,一个服务只专注于一件事;

        微服务能够被小团队单独开发;  

        微服务是松耦合的;

        微服务能使用不同的语言开发;

        易于和第三方集成,可通过持续集成工具jenkins,Hudson,banboo;

        微服务只是业务逻辑代码,不会和html等前端混合;

        每个微服务都可以有自己的存储能力,有自己独立的数据库,也可以是统一的数据库。

      缺点:

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

        多服务运维难度增加;

        数据一致性;

          服务间通信成本。

         

  • 相关阅读:
    从头编写 asp.net core 2.0 web api 基础框架 (1)
    希腊字母表
    Python数据分析(二): Numpy技巧 (4/4)
    Python数据分析(二): Numpy技巧 (3/4)
    Python数据分析(二): Numpy技巧 (2/4)
    OLED液晶屏幕(3)串口读取文字并分割
    OLED液晶屏幕(2)取模软件
    OLED液晶屏幕(0)自动获取12ic地址液晶屏幕
    OLED液晶屏幕(1)OLED液晶屏幕ssd1306驱动芯片 arduino运行 ESP8266-07可以 12f不可以
    I2C 连接 12864 OLED 屏幕
  • 原文地址:https://www.cnblogs.com/menbo/p/13325434.html
Copyright © 2011-2022 走看看