spring cloud
苏云南雁
喜爱技术,热爱学习,终身学习者
展开
-
微服务学习2——如何划分微服务?
一、划分微服务1、起点和终点起点——既有架构的形态终点——好的架构不是设计出来的,而是进化而来的 ——一直在演进ing2、适合上微服务么业务形态不适合的:(1)系统中包含很多很多强事务场景的;(2)业务相对稳定,迭代周期长;(3)访问压力不大,可用性要求不高3,康威定律任何组织在设计一套系统(广义概念上的系统)时,所交付的设计方案在结构上都与该组织沟...原创 2019-01-24 10:42:12 · 1096 阅读 · 0 评论 -
微服务学习15——Zuul的跨域解决方案
一般spring boot对跨域的解决方案是在类或者方法上加@CrossOrigin注解对于单个节点,要实现跨域,通过这个注解:@CrossOrigin(allowCredentials = "true")而zuul提供了一种新的解决方案,通过增加CrossFilter过滤器,代码如下:// Cors: C - cross O - Origin R - Resource...原创 2019-04-28 10:21:42 · 468 阅读 · 0 评论 -
微服务学习21——spring的调用链监控
如果调用的某个接口出现了耗时较长之类的问题,那么这时候sleuth就登场了。1,sleuth的使用首先,在pom中加入依赖:<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-sleuth<...原创 2019-05-02 20:45:36 · 541 阅读 · 0 评论 -
微服务学习22——分布式事务追踪的相关概念
核心步骤:数据采集、数据存储、查询展示由于不同分布式系统的API并不兼容,这就导致了如果要切换系统,就要给事务追踪带来较大改动。因此就诞生了open Tracing规范,以此解决不同分布式系统追踪的问题。open Tracing:优势:来自大名鼎鼎的CNCFZipkin,TRACER,JAEGER,GRPC等等Annotation事件类型:cs(Cl...原创 2019-05-02 20:59:11 · 183 阅读 · 0 评论 -
微服务学习16——Hystrix介绍
产生场景:雪崩效应:一个服务需调用下一个服务才能运行,如果中间一个服务挂掉,则可能导致下一个服务占用资源且不断访问,最后导致资源耗尽。Spring cloud Hystrix:防雪崩利器;基于Netflix对应的Hystrix它具备以下功能:(1)服务降级;(2)依赖隔离;(3)服务熔断;(4)监控(Hystrix Dashboard)服务降级:优先核心服务,非...原创 2019-04-29 16:42:15 · 165 阅读 · 0 评论 -
微服务学习17——引入hystrix及使用,hystrix服务降级、设置延迟时间
引入hystrix及使用在pom中增加:<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix</artifactId></dependency>然后在启动类上...原创 2019-04-29 16:43:43 · 606 阅读 · 0 评论 -
微服务学习18——hystrix的依赖隔离
(1)线程池隔离(2)Hystrix自动实现了依赖隔离配置熔断:@HystrixCommand(commandProperties = {@HystrixProperty(name = "circuitBreaker.enabled",value = "true"), // 设置熔断@HystrixProperty(name = "circuitBreaker.reque...原创 2019-04-29 17:30:37 · 314 阅读 · 0 评论 -
微服务学习19——使用配置项设置hystrix参数
前文的属性值,也可以通过如下配置yml进行设置:hystrix:command:default:execution:isolation:thread:timeoutInMilliseconds: 2000如果要对某个方法单独设置属性:hystrix:command:getProductInfoList:execution:isolation...原创 2019-04-30 14:21:39 · 567 阅读 · 0 评论 -
微服务学习20——feign中使用hystrix
在pom文件中查看依赖间关联关系:找到feign-core,可以看到,feign组件实际上包含了hystrix:那么该如何在feign中使用hystrix?通过@FeignClient(name = "product", fallback = ProductClient.ProductClientFallback.class)这样的注解指定服务不可用时使用的@Fe...原创 2019-04-30 16:40:31 · 383 阅读 · 0 评论 -
spring cloud下配置服务问题
Description:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver class之前启动是正常的...原创 2019-09-19 15:51:12 · 334 阅读 · 0 评论 -
org.springframework.beans.factory.BeanCreationNotAllowedException
详细报错信息:org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'eurekaAutoServiceRegistration': Singleton bean creation not allowed while singletons of this f...原创 2019-09-19 16:02:37 · 5947 阅读 · 0 评论 -
微服务学习14——zuul的限流
时机:请求被转发之前调用令牌桶限流:令牌桶算法已经有开源的软件了,google的开源工具,直接用google开发好的类即可:com.google.common.util.concurrent.RateLimiter;其他部分是类似的:@Componentpublic class RateLimitFilter extends ZuulFilter {pri...原创 2019-04-22 10:42:46 · 346 阅读 · 0 评论 -
微服务学习13——zuul的Pre和Post过滤器
(1)Pre过滤器第一步,说明是Component并且继承自ZuulFilter:@Componentpublic class TokenFilter extends ZuulFilter第二步实现抽象方法:@Overridepublic String filterType() {return PRE_TYPE;}@Overridepublic ...原创 2019-04-22 09:59:52 · 603 阅读 · 0 评论 -
微服务学习1——微服务的概念、spring eureka组件
目录一、微服务流水账1,微服务的特点2,架构上看微服务单体架构3,分布式及微服务架构示例一个简单的微服务架构:二、Spring Cloud1,spring cloud是什么?2,Spring Cloud EurekaEureka Serve(注册中心)Eureka Client(服务注册)3,eureka server 高可用4,eurek...原创 2019-01-22 17:21:27 · 309 阅读 · 0 评论 -
微服务学习4——spring cloud中应用restTemplate应用间通信
// 1,第一种方式(直接使用restTemplate,url写死)// RestTemplate restTemplate = new RestTemplate();// String response = restTemplate.getForObject("http://localhost:8080/msg", String.class);// log.info("respons...原创 2019-02-28 11:27:44 · 175 阅读 · 0 评论 -
微服务学习5——负载均衡之Ribbon
客户端负载均衡:Ribbon如下三个部分都使用到了ribbonRestTemplateFeignZuulribbon在实现负载均衡,核心有三点:(1)服务发现;(2)服务选择规则;(3)服务监听。主要组件:(1)ServerList(2)IRule(3)ServerListFileter首先通过ServerList获取所有服务列...原创 2019-02-28 11:28:54 · 145 阅读 · 0 评论 -
微服务学习6——采用Feign进行通信
这些东东的细节都可以看原版文档1,maven设置:To include Feign in your project use the starter with grouporg.springframework.cloudand artifact idspring-cloud-starter-openfeign. See theSpring Cloud Project pagefor...原创 2019-02-28 11:29:59 · 265 阅读 · 0 评论 -
微服务学习7——统一配置中心
微服务的一些问题:(1)不方便维护;(2)配置内容的安全与权限;(3)更新配置项目需重启统一配置中心:远端git ——> config-server <——> 本地git||各个服务config server开发:(1)配置注释@SpringBootApplication@EnableDiscoveryClient@...原创 2019-02-28 11:31:02 · 282 阅读 · 0 评论 -
微服务学习8——Spring cloud Bus自动刷新配置
Bus既可以指公共汽车,也可以指总线。比如说git更新了配置,要如何通知到config服务?这里一般采用消息,常用的消息队列比如RabbitMQ这种bus技术,只用在pom中加入一个depenency即可:<dependency><groupId>org.springframework.cloud</groupId><artifactI...原创 2019-04-21 15:50:31 · 234 阅读 · 0 评论 -
微服务学习9——异步
所谓异步,指客户端的请求不会阻塞进程,服务端的响应可以是非即时的。像发邮件,发了就行,不需要对方马上响应,这种东东不论在前端还是后端,用的都很多。异步的常见形态:(1)通知;单向的(2)请求/异步响应。(3)消息(1)、(2)被认为是比较常见的一对一请求,(3)可以实现一对多MQ应用场景(1)异步处理;短信、积分发送(2)流量削峰;秒杀之类(3...原创 2019-04-21 15:51:48 · 335 阅读 · 0 评论 -
微服务学习10——spring cloud stream
spring cloud stream可以用来简化消息中间件的使用1,加上依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-stream-rabbit</artifactId><...原创 2019-04-21 15:53:53 · 191 阅读 · 0 评论 -
微服务学习11——spring cloud的网关zuul
1,为什么需要网关服务如果有很多个微服务,用户需要依次去和各个微服务打交道吗?当然不需要,这样很不方便,通过一个网关就可以了!通过中间的一层gateway访问即可2,服务网关的要素(1)稳定性,高可用;要是网关不可用,那么所有服务都不可用了!(2)性能和并发性;(3)安全性(4)扩展性3,常用的网关方案(1)Nginx+Lua,性能好,具...原创 2019-04-21 15:59:11 · 297 阅读 · 0 评论 -
微服务学习12——spring cloud的网关zuul设置cookie与动态路由
1,如果想传递cookie,只需要将zuul:routes:myProduct:path: /myProduct/**serviceId: productsensitiveHeaders:所谓动态路由即是可以动态的更新实际上也很简单,就是把yml文件中的内容写到gitlab中。另外有一点注意,配置的属性名一般是可以直接查看的,用IDEA是可以点开看到的。...原创 2019-04-21 22:25:32 · 1042 阅读 · 0 评论 -
spring cloud的配置中心问题
配置中心脸上gitlab后又出问题。如果采用root账号登录,然后在spring cloud的配置中心查找一个yml文件,它是空的。但是采用spring cloud配置中心采用的账号,登录之后,再查找,即能找到这个yml文件。很奇怪,为啥用写好的账户访问之后就可以正常查出配置,感觉有可能是两个账号之间的并发关系。...原创 2019-10-08 15:49:14 · 133 阅读 · 0 评论