• 12、回顾架构,以及了解微服务结构SpringCloud


    三层架构+MVC

    架构 -->解耦

    开发框架

    Spring

      IOC AOP

      IOC : 控制反转

    控制反转举例:

      比如我们要租房,找房子是一件很麻烦的事情,因为我们不清楚哪里有房东要出租房子,而房东要出租房子也不清楚哪里有客源、

    这时候就出现了房产中介,你要找房子直接去房产中介,房东去出租房子也去房产中介就行了!

    原来我们都是自己一步步操作,现在交给容器了!我们需要什么就去拿就可以了


    ​ AOP:切面(本质,动态代理)
      ​ 为了解决什么?

        不影响业本来的情况下,实现动态增加功能,大量应用在日志,事务等等

    Spring是一个轻量级的Java开源框架,容器

    目的:解决企业开发的复杂性问题

    Spring是春天,但配置文件繁琐

    SpringBoot

      SpringBoot ,新代javaEE的开发标准,开箱即用!>拿过来就可以用,它自动帮我们配置了非常多的东西,我们拿来即用,特性:约定大于配置!

    随着公司体系越来越大,用户越来越多

    微服务架构—>新架构

    模块化,功能化!

    用户,支付,签到,娱乐…;

    人多余多一台服务器解决不了就再增加一台服务器! --横向扩展

    假设A服务器占用98%资源B服务器只占用了10%.–负载均衡;

    将原来的整体项,分成模块化,用户就是一个单独的项目,签到也是一个单独的项目,项目和项目之前需要通信,如何通信

    用户非常多而到十分少给用户多一点服务器,给签到少一点服务器
    微服务架构问题?
    分布式架构会遇到的四个核心题?

    1. 这么多服务,客户端该如何去访?
    2. 这么多服务,服务之间如何进行通信?
    3. 这么多服务,如何治理呢?
    4. 服务器宕机了怎么解决-->熔断机制

    解决方案:SpringCloud

      Springcloud是一套生态,就是来解决以上分布式架构的4个问题

    想使用Spring Clould ,必须要掌握 springBoot , 因为Springcloud是基于springBoot ;

    1. spring Cloud NetFlix

      出来了一套解决方案!一站式解决方案。可以直接使用

      • Api网关 , zuul组件
      • Feign --> Httpclient —> http通信方式,同步并阻塞
      • 服务注册与发现 , Eureka
      • 熔断机制 , Hystrix

    2018年年底,NetFlix 宣布无限期停止维护。生态不再维护,就会脱节。

    1. Apache Dubbo zookeeper ,

      • API:没有!要么找第三方组件,要么自己实现
      • Dubbo 是一个高性能的基于ava实现的RPC通信框架!2.6.x
      • 服务注册与发现 , zookeeper :动物管理者 ( Hadoop , Hive )
      • 没有:借助了Hystrix

      不完善,Dubbo

    2. SpringCloud Alibaba 一站式解决方案

    目前又提出了新的思路

    • 服务网格:也许是下一代维服务标准,Service mesh
    • 代表解决方案:istio(未来可能需要掌握)

    总而言之,要解决的问题就是4个

    1. API网关 , 服务路由
    2. HTTP,RPC框架,异步调用
    3. 服务注册与发现,高可用
    4. 熔断机制,服务降级

    为什么要解决这个问题?因为网络是不可靠的~

  • 相关阅读:
    linux里忘记root密码解决办法
    Oracle怎样方便地查看报警日志错误
    清空文件内容
    channel c3 disabled, job failed on it will be run on another channel
    未能启动虚拟电脑,由于下述物理网卡找不到,你可修改虚拟电脑的网络设置或停用之
    DG下手工处理v$archive_gap方法
    Vue.js + Element.ui 从搭建环境到打包部署
    js判断json对象是否为空
    获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
    DIV的内容自动换行
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/14365567.html
Copyright © 2020-2023  润新知