zoukankan      html  css  js  c++  java
  • Last最后:聊聊现在和未来

    回顾以前,架构!

     三层机构 + MVC
     
     开发框架
         Spring
        IOC AOP
        IOC(控制反转):原来我们需要自己创建对象,现在交给IOC容器去做!当我们需要的时候,去拿即可;
        AOP:(面向切面编程)
        为了解决什么?在不影响业务的情况下,实现动态增加功能,大量应用在日志,事务..等方面
        Spring是一个轻量级的Java开源框架,容器
        目的:解决企业开发的复杂性问题
        Spring是春天,但是不然,它的配置文件也很复杂!
         
         
         SpringBoot
        SpringBoot并不是新东西,就是Spring的升级版!
        新一代JavaEE的开发标准,开箱即用 -> 拿过来就可以用!
        它自动帮我们配置了非常多的东西,我们拿来用即可!
        特性:约定大于配置!
         
     随着公司体系越来越到,用户越来越多!
         
     微服务架构 --> 新架构
         利用模块化,功能化!开发
         比如:用户,支付,签到,娱乐...模块都放在一个springmvc项目中去跳转
         一旦人数过多:一台服务器解决不了;通过横向增加服务器!
         又出现问题,假设A服务器占用98%资源,B服务器只占了10%的资源 --> 负载均衡,通过底层的算法,尽量将资源占用平衡
         
         问题:用户使用非常多,而签到模块使用很少!所以需要给用户模块多一点资源,给签到模块少一点资源!
         那么就需要将原来的项目,分成模块化,用户和签到分别是一个项目,那么项目之间又需要如何通信呢?
         
     微服务架构问题?
         分布式架构会遇到的四个核心问题?
         1.这么多服务,客户端该如何去访问? //让用户访问同一个接口,通过这个接口再去请求
         2.这么多服务,服务之间如何进行通信?
      3.这么多服务,如何治理呢?
         4.服务挂了,怎么办?
         
     解决方案:
         SpringClound,是一套生态,就是来解决以上分布式架构的4个问题;
         想使用SpringCloud,必须掌握SpringBoot,因为SpringCloud是基于SpringBoot;
         
         1.Spring Cloud NetFlix一家在线影片租赁提供商:提出来了一套解决方案(一站式解决方案, 我们都可以直接去这里拿)
        如何访问:Api网关,zuul组件
        通信:
        Feign 基于 HTTPClient 基于 HTTP的通信方式(同步并阻塞)
        治理:服务注册与发现,Eureka
        服务挂了:服务熔断机制,Hystrix
         
        但是2018年年底,NetFlix宣布无限期停止维护。生态不在维护就会脱节!(可能就会造成安全问题,就会抛弃,但是没有更好的一些公司就还在用)
         
         2.Apache Dubbo zookeeper,第二套解决系统
        访问:API接口,没有!那要么找第三方组件,要么自己实现
        通信:Dubbo,是一个高性能的基于Java实现的 RPC通信框架
        治理:服务注册与发现,zookeeper:动物园管理者(Hadoop,Hive)
        服务挂了:熔断机制没有!那就借助了Hystrix
         
        不完善,Dubbo
     
         3.SpringCloud Alibaba:一站式解决方案!
       
     目前,有提出一种方案:
         服务网格:下一代微服务标准,Server Mesh
         代表方案:istio(你们未来可能需要掌握!)
         
     但是万变不离其宗,一通百通!
         就是解决下面四个问题:
         1.访问问题:API网关,服务路由
         2.通信问题:HTTP、RPC通信框架,异步调用
         3.治理问题:服务注册与发现,实现高可用
         4.服务挂掉:熔断机制,服务降级
         
     为什么要解决这些问题?本质:网络是不可靠的!
         
     程序猿,不要停下脚步!

      来自:https://space.bilibili.com/95256449

    致力于记录学习过程中的笔记,希望大家有所帮助(*^▽^*)!
  • 相关阅读:
    Vue基础第三章
    Vue基础第二章
    Vue基础第一章
    AWS笔记
    导入Dynamic Web Project后程序有红叉但是可以运行
    JSTL配置文件下载地址
    access纯jdbc连接
    XML学习总结二——DTD
    【转】无题
    XML学习总结一
  • 原文地址:https://www.cnblogs.com/zxhbk/p/12485704.html
Copyright © 2011-2022 走看看