- 博客(14)
- 资源 (1)
- 收藏
- 关注

原创 从单体架构到微服务的发展历程
架构的演变过程:单体架构——>垂直架构——>soa面向服务架构——>微服务架构单体架构: 特点: ①所有功能集中在一个项目中 ②所有功能都要达成war包部署到服务器 ③ 通过集群(session共享集群)来提高服务器的性能优点: ①.项目架构简单,前期开发的成本低,周期短,小型企业首先.缺点: ①全部的功...
2018-06-25 19:31:27
7310

原创 spring整合redis与接口封装
没整合前普通java程序:导入jar包无连接池创建链接public class JedisDemo { public static void main(String[] args) { // 构造jedis对象 Jedis jedis = new Jedis("127.0.0.1", 6380); // 向redis中添加数据 jedi...
2018-06-12 20:40:18
899
原创 微服务——Discovery
灰度发布灰度发布解决的第一个问题:服务数量多,业务变动频繁,发布频繁。灰度发布解决的第二个问题:灰度发布能降低发布失败风险,减少影响范围。灰度发布解决的第三个问题:当发布出现故障时,可以快速回滚,不影响用户。灰度发布策略用户策略客户端策略服务策略...
2023-08-29 11:36:29
90
1
原创 线程安全遇到的问题——(arraylist的add方法出现下角标越界)
public Map<String, List<Integer>> register(String userName, String passWd, int start, int end) throws InterruptedException { List<Future<Map<String, List<Integer>>>> futures = new ArrayList<>(); Ma
2020-09-30 17:38:20
851
原创 微服务——Zuul
zull动态路由、请求监控、认证鉴权、压力测试、灰度发布动态路由:动态路由是动态的将客户端的请求路由到后端不同的服务上,如果没有网关去做统一的路由,那么客户端就需要关注后端 N 个服务。请求监控:请求监控可以对整个系统的请求进行监控,详细地记录请求响应日志,可以实时统计当前系统的访问量及监控状态。调用量,根据数据分析决定是否要动态限流,分析是否有爬虫请求等多维数据结果。认证鉴权:认...
2020-02-26 21:35:30
583
原创 微服务——Feign
Contract契约组件 在Feign中可以通过定义API接口的方式来调用远程的Http API,在定义调用Client的时候需要增加一些注解来描述这个调用API的基本信息,比如请求类型是GET还是POST,请求的URI是什么。Contract允许用户自定义契约去解析注解信息,最典型的应用场景就是在Spring Cloud中使用Feign,我们可以...
2020-02-25 19:38:37
4226
原创 微服务——服务容错保护-Hystrix
服务雪崩:微服务架构下,会存在服务之间相互依赖调用的情况,当某个服务不可用时,很容易因为服务之间的依赖关系使故障扩大,甚至造成整个系统不可用的情况,这种现象称为服务雪崩效应。产生原因:比如说代码的 Bug 问题,由于某些代码问题导致 CPU 飙升,将资源耗尽等,比如服务器出现问题,磁盘出问题,导致数据读写特别慢,一下就拉高了响应时间。比如说某个新来的同事对业务不太熟悉,写了个查询的 SQL...
2020-02-25 17:44:55
249
原创 微服务——客户端负载均衡-Ribbon
客户端负载均衡:Ribbon集中式负载均衡:Nginx(软件),F5(硬件)使用方式Ribbon + RestTemplateRibbon + Feignrule内置算法:RoundRobinRule 轮询RandomRule 随机BestAvailableRule 最小的并发请求 server自定义rule:指定算法:①通过纯配置文件...
2020-02-24 23:40:08
697
原创 微服务——服务治理-Eureka
Eureka功能:服务注册、服务发现注册中心:将应用程序的信息告诉注册中心,通过注册中心来全局管理服务的节点信息。服务发现:每个客户端都会从注册中心拉取自己关注的信息到本地。服务注册与服务发现相关动作:整个过程包含的操作有注册、拉取、心跳、剔除等动作。主要解决的问题:消费方会定时从注册中心拉取最新的信息,无效的服务信息会自动剔除,整个流程都是自动化的,不需要人工维护节点信息、修改配...
2020-02-24 22:12:25
874
原创 微服务——Springboot
介绍:Spring Boot 可以大大简化开发模式,提高开发效率。亮点:starter简化框架导包、自动装配、应用监控、内嵌容器自动装配:Spring Boot 会根据某些规则对所有配置的 Bean 进行初始化。可以减少了很多重复性的工作。内嵌容器:Spring Boot 应用程序可以不用部署到外部容器中,比如 Tomcat。Spring Boot 应用程序可以直接通过 Mav...
2020-02-24 21:11:30
140
原创 springboot整合——druid
1、导包 <!--配置druid--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.9</version> &
2018-08-06 15:53:43
186
原创 Spring整合httpclient
spring整合httpclient配置①导入依赖<!-- httpclient --><dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId></...
2018-06-12 20:58:48
320
原创 开发interface和service层代码封装
interface代码封装:①新建接口BaseServicepublic interface BaseService<T> { public List<T> queryAll(); public T queryById(long id); public List<T> queryByWhere(T t); public Integer queryCountByW...
2018-06-12 20:23:19
884
原创 springMVC实现jsonp
jsonp原理js 是可以访问跨域资源的(通过ajax异步请求,或者通过src标签),但是浏览器对js的跨域做了限制,通过jsonp原理跳出浏览器限制,在页面中定义一个回调函数,来获取到资源.springMvc4.1之后:①@ControllerAdvice加上这个注解②实现AbstractJsonpResponseBodyAdvice如下:springMvc4.1之前:方法:继承原来的消息处理...
2018-06-10 16:45:05
547
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人