SpringCloud-使用Hystrix熔断器防止服务雪崩

熔断器简介 在微服务架构中,服务被拆分成一个个的服务,服务与服务之间可以通过RPC相互调用,在SpringCloud中可以用RestTemplate + Ribbon和 Feign来调用,为保证其高可用,单个服务通常会集群部署。由于网络或自身原因,服务并不能保证100%可用,如果单个服务出现问题, 调用这个服务就会出现线程阻塞,此时若有大量请求涌入,Servlet容器的线程资源会被消耗完毕...

SpringCloud-使用Hystrix Dashboard熔断器仪表盘监控

添加依赖 打开之前的eureka-consumer-feign项目,在pom.xml中添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix-dashboard...

SpringCloud-创建服务消费者(Ribbon)

在微服务中架构中,业务都会被拆分成一个独立的服务,服务于服务的通讯是基于http restful的。Spring Cloud有两种服务调动方式, 一种是RestTemplate+Ribbon,另一种是Feign;此处使用RestTemplate+Ribbon实现服务消费者。 Ribbon简介   Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,...

SpringCloud-使用Eureka实现服务注册与发现

Eureka Spring Cloud Eureka是Spring Cloud Netflix项目下的服务治理模块。而Spring Cloud Netflix项目是Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为Spring Boot应用提供了自配置的Netflix OSS整合。通过一些简单的注解, 开发者就可以快速的在应用中配置一下常用...

SpringCloud-创建Eureka服务提供者

新建工程 新建SpringBoot工程eureka-client, 其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-inst...

【杂文】大城市-积郁之城

“北上广爱来不来”。汉字句读是很有意思的事情,撒贝宁在《脱口秀大会》中对这七个字给出了三种解读,这也是当下年轻人存在的三种态度。 我们有得选择,也没得选择! 1、大城市--积郁之城,可是机遇之城? 真正来到这里,才发现大城市所谓的光鲜,不过是个包装精美的潘多拉宝盒。 谁不是一边说着逃离北上广深,一边又不敢走?年底,总有人嚷着回家了,就再也不过来了,但真要回去,看完小城市的人情冷暖,...

Docker部署Mysql并实现数据持久化

一、下载 前往Docker Hub 搜索mysql镜像,此处使用mysql 5.7。 注:不推荐使用5.7以下的版本,因为5.7开始支持noSQL,效率比之前的版本更快。 拉取mysql5.7的镜像文件 $ docker pull mysql:5.7 二、配置文件 在/home/文件夹下创建docker持久化数据目录用来保存持久化数据,方便统一管理,防止数据随着容器的...

策略模式与避免臃肿的if-else

在代码编写的过程中经常会遇到大量使用if-else的情况,但是太多的if-else会使代码变的臃肿并且难以理解,因此使用策略模式进行编码对if-else进行优化,避免臃肿。 平常经常碰到的代码: 假设设计一个颜色类,可以动态的改变颜色 ```java public class ColorStrategy{ private String color; //车辆颜色 ...

Spring配置多数据源实现数据库读写分离

读写分离实现原理: 1.配置app.properties 首先在app.properties文件中配置多个数据库连接的基本数据。 #主库 ds.master.type=mysql ds.master.jdbc.driver=com.mysql.jdbc.Driver ds.master.url=${profile.ds.master.url} ds.master.user...

工作经验

正式工作到现在一年半了,在项目中不断学习到了很多东西,也遇到了很多问题,这里记录一下在工作中遇到的问题及经验总结: 1.前台需要的所有数据尽量通过一次请求在后台全部处理好,多次请求会降低系统性能,延长前端数据渲染时间甚至造成卡顿。 2.需要频繁读取却很少变更的数据可以放到缓存中提高访问效率。 数据库远程访问查询响应缓慢时,可在/etc/my.cnf 文件...

%