SpringCloud基础知识

springcloud是一个分布式的总体解决方案, springcloud为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全局锁,leader选举,分布式session,集群状态)中快速构建工具,使用springcloud的开发者能够快速启动服务或构建应用.同时可以快速和云平台资源进行对接
五大经常使用组件
服务发现-Netflix Eureka
客户端服务端负载均衡-Netflix Ribbon
断路器-Netflix Hystrix
服务网关-Netflix Zuul
分布式配置-Spring Cloud Configcss

服务A和服务B注册到注册中心-Eurekahtml

image.png | left | 358x152

A服务和B服务互连互调,A部署了3个实例,B服务部署了4个实例,A服务调用B服务, 调用哪一个,Ribbonweb

image.png | left | 335x295

若是A服务调用B服务, B服务又调用了C,C调用了D等等, 若是B出现了问题,致使一个漫长的等待,引入断路器, 在B服务在几回调用失败以后,之后再来调用,直接快速失败,不让用户作太多的等待spring

image.png | left | 618x291

服务网关,过滤请求,服务调用A以前,先通过网关,进行过滤请求数据库

image.png | left | 747x335

服务之间的配置,使用分布式配置作起来.springboot

image.png | left | 747x445

微服务与微服务架构

微服务: 强调是服务的大小,关注的是某一个点,是具体解决某一个问题/提供落地对应服务的一个服务应用,具体使用springboot开发的一个小模块,专业的事情,交给专业的模块来作,一个模块.就作这一件事,
强调的一个个的个体,每一个个体完成一个具体的任务或者功能session

微服务架构: 每一个服务运行在其独立的进程中,每一个服务围绕具体业务进行构建,可以被独立的部署到生产环境,类生产环境等.架构

微服务强调个体, 微服务架构: 中华民族,56个民族组成,一个个民族是微服务.一堆微服务对外的表现负载均衡

微服务优缺点

优势:足够内聚,足够小,代码容易理解,能聚焦一个指定业务功能或业务需求;
小而美.
松耦合
使用不一样语言开发
最主要的:只是业务逻辑代码,不会和html,css或其余界面组件混合
每一个微服务都有本身的存储能力,能够有本身的数据库,也可有统一数据库(灵活搭配,链接公共库,链接独立库)框架

缺点
运维
分布式通讯与事务控制
复杂性等

微服务技术栈

微服务架构
服务治理/注册/调用/负载均衡/监控—-一条龙服务springcloud

dubbo与springcloud区别

dubbo定位始终是一款rpc框架,springcloud目标是微服务架构下的一站式解决方案