SpringCloud
白夜行悟空
这个作者很懒,什么都没留下…
展开
-
一、SpringCloud之微服务介绍
1、微服务James Lewis & Martin Fowler 2014年3月25日写的《Microservices》:微服务是一种架构风格。一系列微小的服务共同组成 跑在自己的进程里 每个服务为独立的业务开发 独立部署 分布式管理微服务特点:异构不同语言 不同类型的数据库2、其他常见架构形态单体架构优点:容易测试、容易部署缺点:开发效率低、稳定性...原创 2018-11-02 11:16:03 · 423 阅读 · 0 评论 -
十五、SpringCloud之服务网关Zuul
一、服务网关简介1、为什么需要网关服务假如没有网关服务,当前起了十几个服务,订单,商品,广告,支付等,客户端要和每个服务一个一个打交道,显然是不现实的,肯定需要一个角色充当Request请求的统一入口,充当这个角色的就是服务网关。2、服务网关的要素稳定性,高可用(网关瘫痪,系统全挂,完全不能对外服务,影响可能是致命的)性能,并发性(所以请求都要通关网关,所以网关的访问压力是巨大的)...原创 2018-11-30 10:41:50 · 413 阅读 · 1 评论 -
十三、SpringCloud之消息和异步及Spring Cloud Stream的使用
一、简介1、异步客户请求不会阻塞进程,服务端的响应是可以非即时的。2、异步的常见形态通知 请求/异步响应 消息3、MQ应用场景异步处理:比如用户注册之后,需要发送短信或者邮件,注册信息写入数据裤之后通过异步消息,让短信服务和邮件服务去做他们的事,提升用户体验。 流量削峰:秒杀系统,在应用前端加入消息队列,从而控制活动的人数,加入队列长度超过最大,应该直接抛弃用户请求...原创 2018-11-27 15:06:04 · 2913 阅读 · 1 评论 -
十一、SpringCloud之统一配置中心
一、简介1、为什么需要统一配置中心不方便维护(多人修改配置文件,容易出现问题) 配置内容安全与权限(隔离配置文件,不对开发公开) 更新配置项目需重启(更新配置文件重启项目太麻烦了)2、统一配置中心总体架构将配置放在远端git上,这样版本控制起来会比较方便,config-server会从远端的git上把配置拉取下来,然后放在本地的git里(双向流动,假如远端的git访问不了,con...原创 2018-11-21 15:12:59 · 318 阅读 · 0 评论 -
十二、SpringCloud之Spring Cloud Bus配置中心
一、简介ConfigServer使用了Spring Cloud Bus之后(引入Spring Cloud Bus用来操作消息队列),会对外提供一个接口,叫做bus-refresh,远端git访问这个接口ConfigServer就会把配置更新的信息发送到消息队列(RabbitMQ)里面,ConfigServer 和order服务通过消息队列(RabbitMQ)来传递消息二、Spring ...原创 2018-11-26 10:50:00 · 193 阅读 · 0 评论 -
十、SpringCloud之将商品服务和订单服务改造成多模块项目
一、商品服务1、product父项目pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:s...原创 2018-11-19 11:16:56 · 368 阅读 · 0 评论 -
九、SpringCloud之Feign的使用
一、Feign简介声明式Rest客户端(伪RPC) 采用基于接口的注解(定义接口,然后在接口上添加注解‘)二、使用步骤客户端:@RestControllerpublic class ServerController { @GetMapping("/msg") public String msg(){ return "this is product...原创 2018-11-09 10:13:56 · 224 阅读 · 0 评论 -
五、SpringCloud之商品服务
一、Eureka Serverpom.xml 引入相关依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:...原创 2018-11-07 16:04:54 · 568 阅读 · 0 评论 -
四、SpringCloud之服务拆分分析
1、微服务拆分的起点和终点起点:既有架构的形态(将一个已有的架构转化为微服务架构) 终点:好的架构不是设计出来的,而是进化来的(一直在演进ing)2、业务形态不适合微服务的系统中包含很多强事务场景 业务相对稳定,迭代周期长 访问压力不大,可用性要求不高3、康威定律任何组织在设计一套系统(广义概念上的系统)时,所交付的设计方案在结构上都与该组织的沟通结构保持一致。(沟通的问题会...原创 2018-11-07 16:04:43 · 4707 阅读 · 0 评论 -
八、SpringCloud之负载均衡器Ribbon
一、简介1、RibbonRibbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中...原创 2018-11-07 22:17:28 · 274 阅读 · 0 评论 -
七、SpringCloud之RestTemplate的三种使用方式
一、简介1、应用通信方式:RPC、HTTP Dubbo:RPC SpringCloud:HTTP RestFul2、SpringCloud中服务间两种restful调用方式RestTemplate Feign3、RestTemplate:Spring提供的用于访问Rest服务的客户端一个Http客户端,属于客户端发现,负载均衡是软负载,客户端会向服务器,比如EurekaSe...原创 2018-11-07 20:47:12 · 6503 阅读 · 0 评论 -
三、SpringCloud之Eureka的高可用
1、 两个Eureka互相注册,client同时注册两个Eureka让两个Eureka相互注册,它们之间的信息就会相互交换,虽然client只在Eureka1上注册,但是Eureka1会把信息同步到Eureka2里,所以Eureka2也能看到client这个服务。这个时候Eureka1挂掉了,Eureka2上依然有client这个服务。重启client,Eureka2没有client这个服务了...原创 2018-11-02 14:41:10 · 379 阅读 · 0 评论 -
二、SpringCloud之Eureka服务注册与发现
一、Eureka简介1、基于Netflix Eureka做了二次封装2、两个组件组成:Eureka Server 注册中心 Eureka Client 服务注册3、Eureka总结:@EnableEurekaServer @EnableEurekaClient 心跳检测、健康检查、负载均衡等功能 Eureka的高可用,生产上建议至少两台以上二、Eureka Serve...原创 2018-11-02 11:19:59 · 521 阅读 · 0 评论 -
六、SpringCloud之订单服务
一、商品服务1、Sql 在数据库运行Sql语句-- 订单create table `order_master` ( `order_id` varchar(32) not null, `buyer_name` varchar(32) not null comment '买家名字', `buyer_phone` varchar(32) not null commen...原创 2018-11-07 16:05:06 · 626 阅读 · 0 评论 -
十四、SpringCloud之在商品和订单服务中使用MQ、Redis
一、商品服务pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="原创 2018-11-28 16:06:34 · 1378 阅读 · 0 评论