☕JavaBucket
Java成魔之路
🦋基于Butterfly主题的美化日记
本文基于butterfly主题3.6.0版本修改。 部分修改无法使用纯css或JavaScript实现,需要修改原主题的源码。如果后续需要升级原主题,请重新修改一遍。 有些修改就算能用JavaScript实现,也严重影响加载速度,所以还不如修改原主题的源码。 为避免修改地方过多,可将自定义的css样式和js脚本分别放置在同一文件中。 在/themes/butterfly/source/css/_global目录下新建自己的styl样式文件,取名sunchaser.styl,index.styl中已自动引入。 在/themes/butterfly/source/js目录下新建自己的js脚本文件,取名sunchaser.js,然后在_config.butterfly.yml中进行inject引入。 配置项: 123inject: bottom: - <script src="/js/sunchaser.js"></script> 去掉首页的全屏图片首页的全屏图片和subtitle,看似很美,却无实际作用。个人觉得作为博客站,打开的第一 ...
🌥️SpringCloud实战-客户端负载均衡之Ribbon
客户端负载均衡组件之Ribbon。 Ribbon整体架构Ribbon是Netflix开源的客户端负载均衡组件,基于HTTP和TCP。Spring Cloud Ribbon基于Ribbon实现,提供轮询、随机等负载均衡策略进行服务调用,也可自定义负载均衡算法。配合Eureka Server使用时的架构图如下: 使用了Ribbon的Eureka Client服务消费者在发送请求之前,会从Eureka Server注册中心获取服务提供者列表,然后按照配置的负载均衡策略去发起请求,从而实现客户端的负载均衡。 Ribbon本身也会维护一份服务提供者地址列表。如果它发现服务提供者不可用,则会重新从Eureka Server注册中心获取有效的服务提供者地址列表进行更新。 为服务消费者配置Ribbon在IDEA中创建一个名叫ribbon的maven工程,然后在pom.xml中引入以下依赖: 1234567891011121314151617181920212223242526272829303132333435363738394041424344<!-- version --><p ...
🌥️SpringCloud实战-服务注册与发现之Eureka Client
使用Eureka Client实现服务注册与发现。 服务注册与发现将一个微服务(服务提供者)注册至Eureka Server注册中心上。其它微服务(服务消费者)在启动时就可从注册中心进行订阅。 服务提供者在IDEA中创建一个名叫eureka-client-provider的maven工程,然后在pom.xml中引入相关依赖: 1234567891011121314151617181920212223242526272829303132333435363738394041424344<!-- version --><properties> <spring.boot.version>2.2.0.RELEASE</spring.boot.version> <spring.cloud.version>Hoxton.SR9</spring.cloud.version></properties><!-- 预定义依赖 --><dependencyManagement> < ...
🌥️SpringCloud实战-服务注册中心之Eureka Server
服务注册与发现组件之Eureka。 Eureka整体架构Eureka是Netflix开源的服务发现组件,本身是一个基于REST的服务。它包含Server和Client两部分。Spring Cloud将它集成在子项目Spring Cloud Netflix中,作为微服务套件中的服务治理组件,实现服务注册与发现功能。整体架构图如下: 主要包含两个角色: Server端:注册中心,提供服务注册与发现功能。 Client端:服务提供者和服务消费者。 服务调用流程如下: 服务提供者Application Service在启动时向注册中心Eureka Server注册自己提供的服务。 服务消费者Application Client在启动时从注册中心Eureka Server订阅自己所需的服务。 注册中心返回服务提供者的地址(IP和端口等)列表信息。服务消费者本地进行缓存。 服务消费者在调用时根据负载均衡策略从提供者地址列表中选择一个地址进行调用。 微服务启动后,会周期性(默认30s)地向Eureka Server发送心跳以续约自己的“租期”。如果Eureka Server在一定时间内没 ...
🍃增强StopWatch类监控代码的执行耗时
对org.springframework.util.StopWatch类进行扩展增强。
🌥️Spring Cloud版本概述
Spring Cloud是一系列微服务解决方案的组合套件。它包含分布式配置中心、服务注册与发现、路由、服务调用、负载均衡、断路器、全局锁、领导选举/集群状态和分布式消息等组件。利用这些组件,我们可以快速地构建出一个分布式系统。 Spring Boot版本介绍由于Spring Cloud是基于Spring Boot进行构建的,所以在介绍Spring Cloud的版本之前,我们先来看下Spring Boot的版本。 官网链接:https://spring.io/projects/spring-boot#learn Spring Boot版本号遵循主版本号.次版本号.增量版本号.里程碑版本号方案: 主版本号:项目有可能进行重大重构,各主版本之间不一定能兼容。 次版本号:在主版本架构不变的情况下,加入新特性,保证兼容。 增量版本号:BUG的修复。 里程碑版本号:当前的发布版本,主要有以下几类: BUILD-SNAPSHOT:开发快照版。 M:Milestone的缩写,里程碑版本。该版本较之前版本在功能上有重大更新,是发布稳定版本的前兆。如M1/M2。 PRE:预览版。不建议使用,可能存在未知 ...
云设计模式之缓存备用模式(Cache-Aside Pattern)
云设计模式之缓存备用模式(Cache-Aside Pattern):提供了一个较为通用的缓存使用模板方法,并进行了一定的扩展。
LeetCode题解-链表标签:回文链表
LeetCode题解-链表标签:判断一个单向链表是否为回文链表。
Nginx安装与卸载
Nginx的安装与卸载