1.网站架构演变过程

传统架构(单点应用SSM或SSH)→分布式架构(项目拆分)→SOA架构(面向服务架构)→微服务架构

2.微服务概述

2.1SOA架构

面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。

2.2微服务

强调的是服务的大小,它关注的是某一个点,是具体解决某一个问题/提供落地对应服务的一个服务应用(如module)。

2.3微服务架构

是一种架构模式或架构风格,提倡将单一应用程序划分成一组小的服务;从SOA架构演变而来,比SOA架构的细粒度更加精细,目的是为了提高效率。每个服务于与服务之间互不影响,每个服务必须独立部署,拥有指定数据库,每个服务只做一件事(专业的人做专业的事)。它采用restful提供API(即http+json),更加轻巧,适合敏捷开发。

2.4微服务的优缺点

优点:微服务只是业务逻辑的代码,不会和css等界面混合;每个微服务有自己的存储能力,有自己的数据库,也有公共的数据库;每个服务足够内聚,足够小,松耦合。

缺点:系统复杂,运维压力大,系统依赖比较多通信成本高。

2.5技术栈

是多种技术的集合体。

3.Spring Cloud

3.1定义

一套比较完善的基于SpringBoot的微服务一站式解决方案框架,是各个微服务架构落地技术的集合体,俗称微服务全家桶。

英文官网:https://spring.io/projects/spring-cloud
中文官网:https://www.springcloud.cc/

3.2Spring Cloud与Sping Boot的区别

1)Spring Boot专注于快速的单个个体开发微服务;Spring Cloud关注全局的微服务协调整理治理框架,将Spring Boot开发的一个个的单体服务整合并管理起来,为各个服务之间服务。

2)Spring Boot可以离开Spring Cloud独立使用开发项目,但Spring Cloud必须依赖Spring Boot进行开发。

3.3Spring Cloud与Dubbo的区别

最大的区别是Spring Cloud抛弃了RPC远程调用,采用http的rest方式。

3.4SpringCloud与SpringBoot版本匹配

由于SpringCloud是基于SpringBoot的,因此两者的版本匹配很重要,官方给的粗略的是SpringBoot 2.2.0-2.2.5(不包含2.2.5)版本 → SpringCloud Hoxton.SR1版本 。

具体的匹配规则如下:

技术 版本
SpringBoot 2.2.2
SpringCloud Hoxton.SR1
jdk 1.8
maven 3.5以上
mysql 5.7以上

最新文章

  1. 使用cnpm
  2. 如何去定义一个jquery插件
  3. ssh连接linux服务器只显示-bash-4.1#不显示路径解决方法
  4. 【转载】大数据量传输时配置WCF的注意事项
  5. 从零开始PHP攻略(3)——数据的存储与检索
  6. 触发onSaveInstanceState和onRestoreInstanceState的时机
  7. 集成StyleCop到Jenkins CI
  8. 设置ListView的item多选
  9. Ubuntu 安装和配置minicom
  10. 【JAVASCRIPT】React学习- 杂七杂八
  11. 1102mysql关于SOCK文件的认识
  12. Ajax核心--XMLHttpRequest对象
  13. Postman用法简介
  14. 程序员奇谈之我写的程序不可能有bug篇
  15. CentOS7配置MySQL5.7主备
  16. spring整合kafka(配置文件方式 生产者)
  17. java基础题集
  18. Python基础之模块以及5大模块的使用
  19. asp mvc 导出txt 文件泛型方法
  20. weblogic 12C集群环境下的session复制

热门文章

  1. Linux下安装MySQL及远程连接MySQL
  2. Codeforces Round #675 (Div. 2)【ABCD】
  3. CF662C Binary Table【FWT】
  4. Codeforces Global Round 8 E. Ski Accidents(拓扑排序)
  5. hdu 6863 Isomorphic Strings 哈希+求公因子
  6. 02、Scrapy 安装、目录结构及启动
  7. C++ 结构体 segment fault
  8. C++程序代码优化的方法
  9. springboot(四) rabbitMQ demo
  10. JavaScript Engine 可视化