Spring Cloud微服务笔记(一)微服务概念
微服务概念
一、什么是微服务架构
微服务,是一个小的、松耦合的分布式服务。
为什么需要微服务:
1)单体系统部署在一个进程中,修改了一个小功能,为了部署上线就会影响其他功能。
2)单体应用各个功能模块的使用场景、并发量、消耗资源类型各不相同,对于资源的利用又互相影响,
这样使得对各个模块的系统容量很难给出较为准确的评估。
微服务是系统架构的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个在各自独立进程中运行的小型服务,
服务之间通过基于HTTP的RESTful API进行通信协作。
二、实施微服务的挑战
实施微服务需要信奉的重要概念是:分解和分离应用程序的功能,使他们完全彼此独立。
1.单体应用拆分为分布式系统后,进程间的通信机制和和故障处理措施变得更加复杂。
---解决方案:RPC框架,如HSF、Dubbo可以支持多种通信协议,Spring Cloud可以非常好地支持RESTful调用
2.服务调用的分布式事务问题变得异常突出。
---解决方案:没有通用的解决方案,最具挑战的技术难题。
3.微服务数量众多,其测试、运维变得更加困难。
---运用Docker、Devops技术及共有云PAAS平台自动化运维工具。
三、微服务架构特性
一)服务组件化
组件,是一个可独立更换和升级的单元。
二)按业务组织团队
优势:一是可以服务内部修改产生的内耗,二是团队边界更加清晰。
三)做“产品”的态度
四)去中心化治理
当我们采用集中化架构治理方案时,通常在技术平台上都会制定统一的标准,但是每种
技术平台都有其短板,如果解决不好,很可能称为系统瓶颈。微服务构架系统中的各个
组件可以针对不同业务选择不同的技术平台。
五)去中心化数据管理
概念:让每个服务管理自由的数据库。
优势:让数据管理更加细致化,通过采用更合适的技术让数据存储和性能达到最优。
劣势:数据一致性问题。
六)基础设施自动化
微服务架构中需要运维人员关注的问题成倍增长,所以,务必从一开始就构建起"持续交付"
平台来支撑整个实施过程,该平台需要:
1)自动化测试
2)自动化部署
七)容错设计
八)演进式设计
Spring Cloud微服务笔记(一)微服务概念的更多相关文章
- spring cloud(学习笔记)微服务启动错误(1)
今天下午在启动spring cloud微服务的时候,报了这个错误: Error starting ApplicationContext. To display the auto-configurati ...
- spring cloud(学习笔记) Enreka服务治理
服务治理是微服务架构最为核心和基础的模块,主要用来实现各个微服务实例的自动化注册和发现. 记录一下服务注册中心的搭建以及高可用注册中心的实现 1.首先创建两个基础 的spring boot工程,spr ...
- 基于Spring Cloud和Netflix OSS构建微服务,Part 2
在上一篇文章中,我们已使用Spring Cloud和Netflix OSS中的核心组件,如Eureka.Ribbon和Zuul,部分实现了操作模型(operations model),允许单独部署的微 ...
- 今天介绍一下自己的开源项目,一款以spring cloud alibaba为核心的微服务架构项目,为给企业与个人提供一个零开发基础的微服务架构。
LaoCat-Spring-Cloud-Scaffold 一款以spring cloud alibab 为核心的微服务框架,主要目标为了提升自己的相关技术,也为了给企业与个人提供一个零开发基础的微服务 ...
- Spring Cloud 入门教程 - 搭建配置中心服务
简介 Spring Cloud 提供了一个部署微服务的平台,包括了微服务中常见的组件:配置中心服务, API网关,断路器,服务注册与发现,分布式追溯,OAuth2,消费者驱动合约等.我们不必先知道每个 ...
- spring boot 2.0.3+spring cloud (Finchley)7、服务链路追踪Spring Cloud Sleuth
参考:Spring Cloud(十二):分布式链路跟踪 Sleuth 与 Zipkin[Finchley 版] Spring Cloud Sleuth 是Spring Cloud的一个组件,主要功能是 ...
- 《Spring Cloud》学习(一) 服务治理!
前言:之前网上学习过Spring Cloud,对于工作上需要是足够了,总归对于一些方面一知半解,最近难得有些闲暇时间,有幸读了崔永超先生的<Spring Cloud 微服务实战>,一方面记 ...
- Spring Cloud(二):Eureka 服务注册中心
前言 服务治理 随着业务的发展,微服务应用也随之增加,这些服务的管理和治理会越来越难,并且集群规模.服务位置.服务命名都会发生变化,手动维护的方式极易发生错误或是命名冲突等问题.而服务治理正是为了解决 ...
- Spring Cloud系列(一):服务注册中心
一.Spring Cloud简介 Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线).分布式系统的协调导致了样 ...
- spring cloud 2.x版本 Eureka Server服务注册中心教程
本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 1.创建服务注册中心 1.1 新建Spring boot工程:eureka-server 1 ...
随机推荐
- Spring中的AOP 专题
Caused by: java.lang.IllegalArgumentException: ProceedingJoinPoint is only supported for around advi ...
- Hibernate报错,关于配置的SessionFactory找不到问题
最近写项目使用hibernate默认的dtd,在启动项目时经常会出现这个问题,hibernate报错,配置factory的id找不到,找不到mapping配置文件, 不能读取配置的xml文件 Coul ...
- HDU 5984(求木棒切割期望 数学)
题意是给定一长为 L 的木棒,每次任意切去一部分直到剩余部分的长度不超过 D,求切割次数的期望. 若木棒初始长度不超过 D,则期望是 0.000000: 设切割长度为 X 的木棒切割次数的期望是 F( ...
- Python复习笔记(十一)TCP/IP协议
1. TCP/IP协议简介 帧头: mac地址, 网卡上的序列号 2. wireshark使用 分析一个数据是否发送, 是否是网络问题 ip.dst == 192.168.0.137 and udp ...
- [物理学与PDEs]第1章第5节 Maxwell 方程组的数学结构, 电磁场的波动性 5.3 电磁场的波动性, 自由电磁波
1. 由 Maxwell 方程组易知 $$\beex \bea \cfrac{1}{c^2}\cfrac{\p^2{\bf E} }{\p t^2}-\lap{\bf E} &=-\sex{ ...
- 使用js代码将html导出为Excel
js代码将html导出为Excel的方法: 直接上源码: <script type="text/javascript" language="javascript&q ...
- docker学习------docker私有仓库的搭建
192.168.138.102:23451.私有仓库的搭建(docker pull registry),拉取最新的镜像 2.查看拉取的仓库镜像(docker images) 3.启用registry镜 ...
- 数据库的URL格式
Oracle数据库: 驱动jar包: ojdbc6.jar 驱动程序类名字:oracle.jdbc.OracleDriver JDBC URL:jdbc:oracle:thin:@//<host ...
- 原生js写轮播图效果
<script> var picarr=[ "pic/lb1.jpg", "pic/lb2.jpg", "pic/lb3.jpg" ...
- (四)Java工程化--Git基础
GIT学习参考:https://git-scm.com/book/zh/v2 常见命令 git init 初始化项目 git add *.java 添加文件到git版本控制(.java后缀的全部文件) ...