springcloud
文章平均质量分 95
烟花散尽13141
Java分布式组件学习全家桶持续更新!
感谢支持
还请点赞、关注、评论三连
1、springcloud系统学习
2、数据库底层学习、sql优化
3、开发个人工具包
展开
-
synchronized已经不在臃肿了,放下对他的成见之初识轻量级锁
前言物竞天择,适者生存。JDK也在不断的优化中。关于JDK中synchronized锁内部也是不断的优化,前面我们分析了偏向锁用来解决初期问题,随着争抢的不断堆积轻量级锁营运而生。关注我,一个不断进步的社畜码农,带你一起摆脱危机轻量级锁上面说了没有竞争情况并且开启偏向锁的同时,才会产生偏向锁。但是偏向锁是不会主动撤销的。我们看下下面案列vm配置如下-XX:+UseBiasedLocking -XX:BiasedLockingStartupDelay=0 public class原创 2022-03-28 09:34:44 · 757 阅读 · 3 评论 -
多项目如何高效协同合作 | springcloud系列之bus消息总线
前言在springcloud config章节中我们完成了配种中心的搭建,以及通过配置中心完成配置的抽离通过springcloud config模块我们将配置抽离到git仓库中我们不必要每次为了改配置而发包了。但是springcloud config并没有彻底的帮我们解决配置自动更新的问题。我们在config章节中我们遗留最后是每次修改git仓库后需要人为手动调用actuator/refresh接口才能促使配置的更新。当时也指出了在分布式微服务众多的情况人为调用接口耗时而且没有保障!!!当然你也可以写个原创 2021-10-08 09:15:57 · 332 阅读 · 0 评论 -
【redis前传】集思广益之quicklist,取其精华去其糟粕
前言在之前我们已经学习了redis五大数据结构中的list结构。其内部是linkedList和zipList两种结构。这是我们已经学习的内容。之前我没有结合操作具体查看。事实上在两者中还存在一种结合体quickList结构演变在上面我们添加了一个key为zlist的数据。通过object encoding zlist查看底层就是通过quicklist来构建的。之前在ziplist章节汇总我们了解到在redis中hash和list基本数据结构都使用了ziplist存储数据的。在list中我们确实原创 2021-09-22 09:04:06 · 234 阅读 · 0 评论 -
redis淘汰+过期双向保证高可用 |此篇告诉你为什么redis那么快(一)
前言redis和数据相比除了他们的结构型颠覆以外!还有他们存储位置也是不相同。传统数据库将数据存储在硬盘上每次数据操作都需要IO而Redis是将数据存储在内存上的。这里稍微解释下IO是啥意思。IO就是输入流输出流方式将数据在硬盘和内存之间进行交互!而redis直接在内存上就剩下了IO操作。这也是redis快的原因之一吧内存相对于硬盘来说很宝贵。我们平时的电脑也是硬盘是内存的几百倍。既然内存很宝贵而redis又将数据存储在内存上那么redis肯定不能肆无忌惮的进行存储 。这就需要redis和开发者们原创 2021-06-28 13:51:58 · 262 阅读 · 2 评论 -
基于redis实现的四种常见的限流策略
引言在web开发中功能是基石,除了功能以外运维和防护就是重头菜了。因为在网站运行期间可能会因为突然的访问量导致业务异常、也有可能遭受别人恶意攻击所以我们的接口需要对流量进行限制。俗称的QPS也是对流量的一种描述针对限流现在大多应该是令牌桶算法,因为它能保证更多的吞吐量。除了令牌桶算法还有他的前身漏桶算法和简单的计数算法下面我们来看看这四种算法固定时间窗口算法固定时间窗口算法也可以叫做简单计数算法。网上有很多都将计数算法单独抽离出来。但是笔者认为计数算法是一种思想,而固定时间窗口算法是他的一原创 2021-06-17 13:57:00 · 710 阅读 · 0 评论 -
【springcloud长文系列】不要每天重复修改配置了,试试config一处修改病毒式蔓延自动更新配置吧|智能化开发
背景有多少次因为配置文件忘记修改导致重新发布有多少次因为无法实时修改配置导致重新发布有多少次同一个配置在不同项目需要重复修改有多少次因为配置导致项目启动失败!!!配置服务中心config官网文档面对上面种种的问题springcloud为我们提供一种解决方案—Springcloud Config它为分布式微服务提供了集中化的外部配置支持,配置服务器为微服务下所有环境提供配置中心Springcloud Config分为服务端和客户端、服务端就是本节介绍的对象。而客户端就是嵌入在各个微服务中和服原创 2021-06-15 14:50:18 · 309 阅读 · 1 评论 -
前端再也不用头疼了---分布式系列之网关zuul包揽全局
zuul模块搭建pom <!--eureka--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>原创 2021-05-17 09:28:06 · 1038 阅读 · 1 评论 -
不能再让服务这么任性的被访问啦---分布式服务熔断降级限流利器至Hystrix
全文概览文章目录为什么需要hystrix特色功能项目准备接口测试业务隔离线程隔离信号量隔离服务降级触发条件不足服务熔断服务限流请求合并HystrixCollapser工作流程HystrixDashboard聚合监控新建hystrix-turbinepomyml启动类源码为什么需要hystrixhystrix官网地址githubHystrix同样是netfix公司在分布式系统中的贡献。同样的也进入的不维护阶段。不维护不代表被淘汰。只能说明推陈出新技术在不断迭代。曾今的辉煌曾经的设计还是值得我们去学原创 2021-04-26 06:21:22 · 1082 阅读 · 7 评论 -
分布式系列接口调用openfeign小试牛刀---openfeign接口是如何注入spring的
申明式接口调用Feign,极大的简化了我们接口之间的调用。只需要通过注解就可以实现我们系统之间接口的调用。关于分布式我们之前主要集中讨论了服务治理。eureka、consul、zookeeper我们分别从三个角度不同程度的学习了这三个框架的原理及区别。这些作为前期springcloud的重要组成部分是我们学习分布式不容忽视的章节。至于现在springcloud alibaba我们这里重头菜要留到最后。对springcloud alibaba感兴趣还请关注我后续会更新相关内容简介openfeign..原创 2021-04-19 06:18:27 · 1201 阅读 · 8 评论 -
springcloud分布式之consul探索
文章目录consul安装后台启动客户端注册pom引入配置文件启动注解订单调用consul集群搭建docker安装单机安装可以忽略docker 默认IPconsul 运行原理之前罗列了eureka作为服务治理的整合,并简单介绍了eureka的工作原理。eureka在cap理论中遵循了AP原理。consul安装点我官网下载在官网下载的jar解压后里面执行一个可执行文件consul.我们将consul移动到我们自己的目录下。并形成以下文件结构方便日后调试配置。conf/dev.json :原创 2021-03-26 08:44:53 · 423 阅读 · 5 评论 -
分布式服务治理zookeeper原理及使用大全
[TOC]zookeeper动物管理员全局把控。提供了配置管理、服务发现等服务。其本身也是可以集群化的。实现上是基于观察者模式。不想eureka/consul等同类产品需要心跳机制。他本身支持观察与主动触发机制;千里之行始于足下,我们已经探索了eureka、consul两个服务注册的中间件了。今天我们继续学习另外一个作为服务注册的服务。本文将从zookeeper单机到集群的安装讲解;在从集群leader选举机制的讲解及数据同步的梳理。到最终的基于zookeeper实现的配置管理及分布式锁的应用。从点原创 2021-04-06 08:39:03 · 1369 阅读 · 13 评论 -
springcloud--eureka服务治理深入浅出
文章目录什么是服务治理Eureka调用过程Eureka单机注册Eureka 单机启动单机注册集群注册客户调用Eureka集群注册idea 如何同一个项目启动多次Eureka自我保护为什么要自我保护如何开启自我保护自我保护如何激活上述源码分布式是现在互联网架构的首选。在分布式中我们会有三方理论简称CAP简称全称解释CConsistency数据一致性AAvailability可用性,性能PPartition tolerance分区容错性今天我们就来看看原创 2021-03-18 13:20:14 · 1425 阅读 · 11 评论 -
分布式springcould服务调用Ribbon的负载均衡,用起来非常简单实用,原理却不是那么简单。跟我来原理so easy
在这里插入图片描述此章带你看源码,需要一定的spring只是储备。基础不好怎么办?没关系认真听讲勤于思考就醒啦。文章目录前提概要Ribbon作用Ribbon原理Ribbon源码分析Ribbon自动配置LoadBalancedLoadBalancerInterceptor回到LoadBalancerAutoConfigurationRetryTemplateRestTemplate结合Ribbon调用原理RestTemplate源码跟踪getForObjectexecuteRibbon负载均衡源码追踪原创 2021-04-12 06:25:38 · 1203 阅读 · 3 评论