1.什么是微服务
    微服务(Microservices)是一种架构风格,一个大型复杂的项目,可以由多个微服务组成。
    项目中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注完成自己的业务
    2.架构特点
    每个服务都有单一的业务职责
    每个服务都要相对”独立”
    每个服务都要对外暴露Rest风格服务接口API
    每个服务都可以是一个独立的开发团队
    每个服务都可以是不同的技术栈
    每个服务都访问各自的数据库
    每个服务都可以单独部署
    3.微服务间调用方式
    RPC:
    并发能力强 ,代表框架: dubbo
    HTTP:更轻量,更灵活,代表框架: HttpClient、UrlConnection、OkClient
    Spring提供了整合: RestTemplate
    4.Spring Cloud概述
    概述
    微服务架构一站式解决方案,基于springboot
    核心架构
    服务注册中:心eureka nacos
    负载均衡:ribbon
    熔断器:hystrix ,sentinel
    服务调用 feign
    api网关 gateway
    配置中心 nacos
    5.负载均衡的原理
    1)请求被LoadBalancerInterceptor拦截
    2)获取uri中的host,也就是服务名称
    3)交给RibbonLoadBalanceClient的对象,根据服务名称获取服务列表,保存到DynamicServerListLoadBalancer
    4)交给IRule,利用负载均衡规则选择一各实例
    5)利用真实实例的ip和端口替换url的服务名称,发起请求