Springcloud学习笔记-简介

    编码能力最为重要,编码能力最难培养,编码能力是慢慢积累的!

1.网站架构演变过程:

传统架构(单点应用){其实就是SSH或者SSM架构}=》分布式架构(以项目进行拆分)=》SOA架构(面向服务架构)=》微服务架构

    1.1单点应用,把整个业务模块都会在一个项目进行开发,分为MVC架构,会拆分控制层,业务逻辑层以及数据访问层;

    一般只适合一个人或者小团队开发

     缺点:耦合度太高,一旦某个模块导致服务不可用,可能会影响到其它模块.比如查询崩溃了会影响到正在登录的人.

    1.2分布式架构基于传统架构演变过来的,将传统的项目以项目进行拆分成多个子项目,比如拆分成会员项目/订单项目/支付项目/优惠劵等.每个项目中都有自己独立的数据库/独立redis等.

          项目表达意思:包含业务逻辑层和视图层,项目包含:前台项目(提供给用户)和后台项目(维护管理)

          服务表达意思:只包含业务逻辑层,没有视图层

          中台(没有界面):管理系统,就是后台管理系统

          maven聚合项目是不是分布式项目:最终区别是打的jar或者war,是不是一个,多个jvm互相通信!

     1.3 SOA(Service Oriented Architecture)架构

         SOA代表面向服务架构,俗称服务化,可以理解为面向于业务逻辑层.将共同的业务代码进行抽取出来的,提供给其它接口进行           调用,服务与服务之间通信采用rpc远程调用技术.

         服务概念:将共同的业务逻辑进行拆分,拆分成独立的项目进行部署.没有视图层

         服务概念理解为: 接口.

             RPC远程调用技术框架:HTTP client/springcloud/dubbo/grpc  核心底层socket技术或者netty实现.

        SOA架构特点:底层基于SOAP或者ESB(消息总线)实现,底层使用HTTP或者Https协议

      1.4微服务架构

            1.4.1SOA架构缺点:

                    1.依赖与中心化服务发现机制

                    2.采用Http+XML传输协议,占用宽带

                    3.服务管理混乱,缺少服务管理和治理设施不完善。

            1.4.2微服务架构模式

                    微服务架构从SOA架构演变过来的,比SOA架构粒度上更加精细。每个服务与服务之间互相不影响,每个服务必须独立部署(独立数据库、独立redis等),微服务架构更加轻量级,采用restful风格提供API,采用Http+Json格式,更加适用敏捷开发、快速迭代产品。

                 控制层与fegin客户端区别: 控制层控制页面跳转,fegin客户端调用接口

                 服务化功能本身在SOA这层已经实现,只不过微服务架构在单独服务层有进行细化服务。

                 会员服务在微服务又进行细分为:会员服务基本组件、会员联合SSO服务、会员积分服务

             微服务架构与SOA架构区别:

                   1)微服务架构基于SOA架构演变过来,继承了SOA架构优点,在微服务架构中去除SOA架构中的ESB消息总线,采用http+json(restful)进行传输;

                   2)微服务架构比SOA架构粒度会更细,目的是提高效率;

                   3)SOA架构中可能存在数据库存储共享,微服务强调每个服务都是单独数据库,保证每个服务之间互不影响;

                   4)微服务架构更加适用敏捷开发、快速迭代产品。(第8节)

  第九节  为什么要使用Springcloud框架

         因为spring cloud是目前来说,是一套比较完整的微服务解决方案框架。不像其它rpc远程调用框架,只是解决某个微服务中的问题。可以把springcloud理解为一条龙微服务解决方案。微服务全家桶---springcloud比较完善。

      服务治理:阿里巴巴的dubbo和当当网在其基础上拓展的dubbox、Eureka、apache的consul等。

      分布式配置中心:百度的disconf、netfix的Archaius、360的QConf、SpringCloud的config、携程的阿波罗等。

      分布式任务:xxl-job、elastic-job、springcloud的task等。

      服务跟踪:京东的hyra、springcloud的sleuth等。

     如果学习其它其它微服务框架,需要整合其它框架帮你解决微服务问题。

第十节  spring cloud微服务框架简介

   1.spring cloud是基于spring boot基础之上开发的微服务框架,是一套完整的微服务解决方案框架,其内容包含服务治理、注册中心、配置管理、断路器、智能路由、微代理、控制总线、全局锁、分布式会话等。

       springcloud包含众多的子项目

                  springcloud config 分布式配置中心

                   springcloud netflix核心组件

                           Eureka:服务治理 注册中心

                           Hystrix 服务保护框架

                           Ribbon  客户端负载均衡器

                           Feign:基于ribbon和hystrix的声明式服务调用组件

                           Zuul:网关组件,提供智能路由、访问过滤等功能

                           Springcloud学习笔记-简介_第1张图片

你可能感兴趣的:(Springcloud学习笔记-简介)