<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JackRen_Developer的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/JackRen_Developer</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; JackRen_Developer]]></copyright><item><title><![CDATA[Https安全协议]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/121194262</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/121194262</guid><author>JackRen_Developer</author><pubDate>Sun, 07 Nov 2021 17:30:15 +0800</pubDate><description><![CDATA[前提

由于 HTTP 协议通信的不安全性，所以人们为了防止信息在传输过程中遭到泄漏或者篡改，就想出来对传输通道进行加密的方式 https。

介绍

https 是一种加密的超文本传输协议，它与 HTTP 在协议差异在于对数据传输的过程中，https对数据做了完全加密。由于 http 协议或者 https 协议都是处于 TCP 传输层之上，同时网络协议又是一个分层的结构，所以在 tcp 协议层之上增加了一层 SSL（Secure Socket Layer，安全层）或者 TLS（Transport Laye]]></description><category></category></item><item><title><![CDATA[Rancher 图形化管理K8S]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/115354984</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/115354984</guid><author>JackRen_Developer</author><pubDate>Wed, 31 Mar 2021 17:01:17 +0800</pubDate><description><![CDATA[题外话

之前我们一直都是使用命令行来管理K8S的，这种做法虽然对程序员来说看起来很炫酷，但有时候用起来还是挺麻烦的。今天我们来介绍一个K8S可视化管理工具Rancher，使用它可以大大减少我们管理K8S的工作量，希望对大家有所帮助！

简介

Rancher是为使用容器的公司打造的容器管理平台。Rancher简化了使用K8S的流程，开发者可以随处运行K8S，满足IT需求规范，赋能DevOps团队。





Docker安装

安装yum-utils

yum install -y yum-utils .]]></description><category></category></item><item><title><![CDATA[Java对接微信公众号模板消息]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/115215198</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/115215198</guid><author>JackRen_Developer</author><pubDate>Thu, 25 Mar 2021 18:14:22 +0800</pubDate><description><![CDATA[场景

产品经理今天告知想要一个功能：微信定时接收自己的运营平台每天的数据，比如今天注册多少人，有多少个订单等！暂时想到的是通过微信公众号给关注的特定客户发送运维消息，看了公众号提供的模板功能，就记录下来便于以后对接！

获取ACCESS_TOKEN

公众号提供的功能api的基础前提是需要拿到token，拿到token后才能去调用相关的接口









获取token直接就是一个get请求，代码如下：


/**
	 * @author:JackRen
	 * @Description:获取授权..]]></description><category></category></item><item><title><![CDATA[Docker之私有镜像仓库Harbor搭建]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/114827894</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/114827894</guid><author>JackRen_Developer</author><pubDate>Mon, 15 Mar 2021 12:51:04 +0800</pubDate><description><![CDATA[简介

Docker离不开可靠的镜像管理，官方默认的DockHub，虽然Docker官方也提供了公共的镜像仓库Registry，但是功能略显简单。

Harbor是由VMware公司开源的企业级的Docker Registry管理项目，它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

系统环境（harbor需要docker-compose）


#docker version
docker version 19.03.1
#docker-compose ver]]></description><category></category></item><item><title><![CDATA[SpringBoot集成plumelog日志系统]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/114762232</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/114762232</guid><author>JackRen_Developer</author><pubDate>Sat, 13 Mar 2021 20:54:44 +0800</pubDate><description><![CDATA[PlumeLog简介

无入侵的分布式日志系统，基于log4j、log4j2、logback搜集日志，设置链路ID，方便查询关联日志
	基于elasticsearch作为查询引擎
	高吞吐，查询效率高
	全程不占应用程序本地磁盘空间，免维护;对于项目透明，不影响项目本身运行
	无需修改老项目，引入直接使用，支持dubbo,支持springcloud
服务端安装

首先是消息队列，PlumeLog适配了redis或kafka，一般项目redis足够了，我这边也是直接用redis，redis 官网：https:]]></description><category></category></item><item><title><![CDATA[SpringBoot + SqlServer+Mybatis]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/114666687</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/114666687</guid><author>JackRen_Developer</author><pubDate>Thu, 11 Mar 2021 14:56:28 +0800</pubDate><description><![CDATA[前提：项目搭建需要数据库，运行这个项目之前需要先部署好sqlserver数据库，上一篇文章简单的用docker部署了sqlserver数据库，有需要的可以去看下：Docker安装部署Sql Server

maven引入


&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-]]></description><category></category></item><item><title><![CDATA[SpringBoot实现缓存机制]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/114404245</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/114404245</guid><author>JackRen_Developer</author><pubDate>Fri, 05 Mar 2021 17:16:55 +0800</pubDate><description><![CDATA[简介

Spring 定义 CacheManager 和 Cache 接口用来统一不同的缓存技术。例如 JCache、 EhCache、 Hazelcast、 Guava、 Redis 等。在使用 Spring 集成 Cache 的时候，我们需要注册实现的 CacheManager 的 Bean。Spring Boot 默认使用的是 SimpleCacheConfiguration，即使用 ConcurrentMapCacheManager 来实现的缓存。

CacheManager：缓存管理器，管理各种缓]]></description><category></category></item><item><title><![CDATA[SpringBoot下Java动态创建表和表字段]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/114029309</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/114029309</guid><author>JackRen_Developer</author><pubDate>Wed, 24 Feb 2021 17:17:19 +0800</pubDate><description><![CDATA[场景：网上看到一个项目在线生成表结构，感觉这样很方便，能够节省很大的人工，也想做一个这样的项目，先尝试着写了个测试类，后续再找前端继续完善

我这边动态创建的前提是有一个存在的数据库，代码如下：


Class.forName("com.mysql.jdbc.Driver");​        //创建连接        String url = "jdbc:mysql://172.16.10.54:3306/jeemp?useUnicode=true&amp;characterEncoding=UTF-8]]></description><category></category></item><item><title><![CDATA[Spring Boot 之 spring.factories]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/110490528</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/110490528</guid><author>JackRen_Developer</author><pubDate>Wed, 02 Dec 2020 16:49:44 +0800</pubDate><description><![CDATA[引言

在java spring cloud项目中，我们常常会在子模块中创建公共类库，作为驱动包。那么在另外一个子模块中，需要加载配置文件的时候，往往Spring Boot 自动扫描包的时候，只会扫描自己模块下的类。



问题


如果想要被Spring容器管理的Bean的路径不再Spring Boot 的包扫描路径下，怎么办呢？也就是如何去加载第三方的Bean 呢？


	首先一个Swagger的配置类：SwaggerConfig
	
	
	工程结构图

	

	
	
...]]></description><category></category></item><item><title><![CDATA[当Docker遇到Intellij IDEA，再次解放了生产力]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/110073011</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/110073011</guid><author>JackRen_Developer</author><pubDate>Tue, 24 Nov 2020 14:24:38 +0800</pubDate><description><![CDATA[服务器端部署docker：


0.sudo yum install -y yum-utils \  device-mapper-persistent-data \  lvm2   1.sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo   2.sudo yum install docker-ce docker-ce-cli containerd.io -y



将docke.]]></description><category></category></item><item><title><![CDATA[linux服务器间文件相互传输]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/110001679</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/110001679</guid><author>JackRen_Developer</author><pubDate>Mon, 23 Nov 2020 17:06:43 +0800</pubDate><description><![CDATA[​​​场景：因前期设计得失误，导致应用中得富文本上传服务器并没有单独传到相应得文件服务器上，而是直接上传到应用所属的服务器上​。若是就一台服务器也没什么问题，问题是若是对服务做了负载均衡，就会出现问题，有可能你上传的文件在服务器A上，但是当你通过域名访问到服务器B上的时候，就会找不到相应的文件​。

​​针对这种情况，前期考虑是将所有服务器文件同步，做到每台服务器上都有这个文件，这样就不会有什么问题，当然后期肯定会抽出单独的文件服务器进行访问​。下面来说服务器同步文件问题​。...]]></description><category></category></item><item><title><![CDATA[ActiveMQ的延时投递和定时投递实践]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109910295</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109910295</guid><author>JackRen_Developer</author><pubDate>Sat, 21 Nov 2020 22:36:31 +0800</pubDate><description><![CDATA[​​在开发业务系统的时候，很多业务场景消息都会用到延时投递和定时投递，比如我们说的定时任务生成报表，短信的定时发送​等等，这时候就用到了ActiveMQ的定时投递，可参考​官方文档：http://activemq.apache.org/delay-and-schedule-message-delivery.html

​​ActiveMQ对消息延时和定时投递做了很好的支持，其内部启动Scheduled来对该功能支持，也提供了一个封装的消息类型：org.apache.activ...]]></description><category></category></item><item><title><![CDATA[Spring+JMS+ActiveMQ实现消息传递]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109901717</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109901717</guid><author>JackRen_Developer</author><pubDate>Sat, 21 Nov 2020 16:46:57 +0800</pubDate><description><![CDATA[JMS简介

JMS的全称是Java Message Service，即Java消息服务。它主要用于在生产者和消费者之间进行消息传递，生产者负责产生消息，而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息，并进行发送，对应的消费者在接收到对应的消息后去完成对应的业务逻辑。对于消息的传递有两种类型，一种是点对点的，即一个生产者和一个消费者一一对应；另一种是发布/订阅模式，即一个生产者产生消息并进行发送后，可以由多个消费者进行接收。

消息的两种传播方式...]]></description><category></category></item><item><title><![CDATA[Spring集成RocketMq进阶]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109866267</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109866267</guid><author>JackRen_Developer</author><pubDate>Fri, 20 Nov 2020 21:43:31 +0800</pubDate><description><![CDATA[​​场景​：我们平台是做冷链数据采集的，和硬件设备对接，采集实时的温湿度和车辆的定位信息，现有3000多硬件设备，每个设备5分钟上传一次数据，这样的数据量上来后直接把服务搞死，cpu过载​。



​​上面这种情况就算数据库做读写分离，分库分表，但是数据一直在写入，CPU一直在飙高，早晚服务会崩溃，所以考虑放到消息队列中​。但是放到消息队列中也不能说就没有什么问题，如果入队数据量远远大于出队数据量，那么还是会导致服务出现问题，所以现在的考虑是​：使用RocketMq，设备采...]]></description><category></category></item><item><title><![CDATA[Spring集成RocketMq]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109821131</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109821131</guid><author>JackRen_Developer</author><pubDate>Thu, 19 Nov 2020 18:39:08 +0800</pubDate><description><![CDATA[先说下RocketMQ的优点​：


	单机吞吐量：十万级
	
	
	可用性：非常高，分布式架构
	
	
	消息可靠性：经过参数优化配置，消息可以做到0丢失
	
	
	功能支持：MQ功能较为完善，还是分布式的，扩展性好
	
	
	支持10亿级别的消息堆积，不会因为堆积导致性能下降
	
	
	源码是java，我们可以自己阅读源码，定制自己公司的MQ，可以掌控
	
缺点：


	支持的客户端语言不多，目前是java及c++，其中c++不成熟；
	
	
	社区活跃度一般
	
	
	没有在 mq 核心中去实现JM.]]></description><category></category></item><item><title><![CDATA[设计模式之观察者模式]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109111819</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109111819</guid><author>JackRen_Developer</author><pubDate>Fri, 16 Oct 2020 10:39:50 +0800</pubDate><description><![CDATA[定义

观察者模式（Observer Pattern）定义了对象之间的一对多依赖，让多个观察者对象同时监听一个主体对象，当主体对象发生变化时，它的所有依赖者（观察者）都会收到通知并更新，属于行为型模式。观察者模式有时也叫做发布订阅模式。观察者模式主要用于在关联行为之间建立一套触发机制的场景。

适用场景

我们经常看到微信朋友圈的动态通知、邮件通知等



实例

我们来实现下java.awt.Event,简单的模拟下

创建Event类


public class Event {    ...]]></description><category></category></item><item><title><![CDATA[设计模式之装饰者模式]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109110768</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109110768</guid><author>JackRen_Developer</author><pubDate>Fri, 16 Oct 2020 09:59:13 +0800</pubDate><description><![CDATA[定义

​​装饰者模式（Decorator Pattern）是指在不改变原有对象的基础之上，将功能附加到对象上，提供了比继承更有弹性的替代方案（扩展原有对象的功能），属于结构型模式。

适用场景

1、用于扩展一个类的功能或给一个类添加附加职责。

2、动态的给一个对象添加功能，这些功能可以再动态的撤销。

实例

说太多的概念都太过于苍白，我喜欢直接上代码

我们用装饰者模式写下买煎饼加鸡蛋加烤肠这个场景，可以根据客户要求任意加

创建一个煎饼的抽象类


public abstract...]]></description><category></category></item><item><title><![CDATA[设计模式之适配器模式]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109076091</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109076091</guid><author>JackRen_Developer</author><pubDate>Wed, 14 Oct 2020 15:59:55 +0800</pubDate><description><![CDATA[适配器模式

定义

​​适配器模式（Adapter Pattern）是指将一个类的接口转换成客户期望的另一个接口，使原本的接口不兼容的类可以一起工作，属于结构型设计模式。

适用场景

1、已经存在的类，它的方法和需求不匹配（方法结果相同或相似）的情况。

2、适配器模式不是软件设计阶段考虑的设计模式，是随着软件维护，由于不同产品、不同厂家造成功能类似而接口不相同情况下的解决方案。有点亡羊补牢的感觉。



实例

我们现在的登录有很多种，QQ、微信等，我们利用适配模式来写下这个代码
...]]></description><category></category></item><item><title><![CDATA[设计模式之模板模式]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109074470</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109074470</guid><author>JackRen_Developer</author><pubDate>Wed, 14 Oct 2020 15:17:22 +0800</pubDate><description><![CDATA[一、模板模式

定义

​​模板模式通常又叫模板方法模式（Template Method Pattern）是指定义一个算法的骨架，并允许子类为一个或者多个步骤提供实现。模板方法使得子类可以在不改变算法结构的情况下，重新定义算法的某些步骤，属于行为性设计模式。

适用场景

1、一次性实现一个算法的不变的部分，并将可变的行为留给子类来实现。

2、各子类中公共的行为被提取出来并集中到一个公共的父类中，从而避免代码重复。

优点


	利用模板方法将相同处理逻辑的代码放到抽象父类中，提高代码的...]]></description><category></category></item><item><title><![CDATA[五分钟理解设计模式之代理模式]]></title><link>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109053689</link><guid>https://blog.youkuaiyun.com/JackRen_Developer/article/details/109053689</guid><author>JackRen_Developer</author><pubDate>Tue, 13 Oct 2020 16:01:11 +0800</pubDate><description><![CDATA[定义

​​代理模式（ProxyPattern）的定义也非常简单，是指为其他对象提供一种代理，以控制对这个对象的访问。代理对象在客服端和目标对象之间起到中介作用，代理模式属于结构型设计模式。

​​代理其实就是在原本逻辑前后增加一些逻辑，而调用者无感知



分类


	静态代理
	
	
	动态代理

	
		jdk动态代理
		
		
		cglib动态代理
		
	


目的


	保护目标对象
	
	
	增强目标对象
	


静态代理

场景

​...]]></description><category></category></item></channel></rss>