java
javaDocker
精通 java RocketMQ K8S html javaScript CICD 工作流 微服务(SpringCloud)
熟悉 易语言 kettle etl openAPI java云原生
了解 vue autoxjs AIOps
擅长 高效定位并解决问题 流程梳理 多系统架构设计
终身学习 知行合一 实事求是
展开
-
生产级logback-spring.xml配置明细
<?xml version="1.0" encoding="UTF-8"?><configuration> <!-- 规则: dev 开发环境: 启用实时打印日志,启用p6spy打印sql语句到控制台 其他环境: 启用异步打印, 禁用p6spy %m 输出代码中指定的消息 %p 输出优先级,即DEBUG,IN..原创 2021-02-06 19:30:37 · 856 阅读 · 0 评论 -
分布式redis锁代码实现
@Componentpublic class RedisDistributedLock extends AbstractDistributedLock { @Autowired private RedisTemplate<String, Object> redisTemplate; private ThreadLocal<String> lockFlag = new ThreadLocal<>(); private static f.原创 2021-01-27 09:10:12 · 154 阅读 · 1 评论 -
基于netty如何实现百万连接
① 介绍100w连接需要多少台机器才能构建起来,这肯定是很多的,在测试的过程中,不需要几百个服务器完成百万连接。需要注意服务器支持端口的数量是可以支持很多的,但是如何2台服务器要实现百万连接,需要考虑一个TCP层次的一种限制,两台服务器之间建立的连接数量是有限的。网络四元组(客户端IP,客户端端口,服务端IP,服务端端口)。同一个IP的端口数不超过65535个,这是个限制,每一个连接不仅仅在服务器上开启一个端口,在客户端也会开启一个端口,每一个TCP连接涉及到端口数量的限制,客户端只有6万多个端口原创 2020-11-08 10:27:16 · 5357 阅读 · 4 评论 -
什么是 RPC?RPC原理是什么?
什么是 RPC?RPC原理是什么?什么是 RPC?RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如两个不同的服务 A、B 部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP请求 当然可以,但是可能会比较慢而且一些优化做的并不好。 RPC 的出现...原创 2020-03-05 09:13:32 · 6447 阅读 · 0 评论 -
分布式事务中间件Seata
在微服务架构体系下,我们可以按照业务模块分层设计,单独部署,减轻了服务部署压力,也解耦了业务的耦合,避免了应用逐渐变成一个庞然怪物,从而可以轻松扩展,在某些服务出现故障时也不会影响其它服务的正常运行。总之,微服务在业务的高速发展中带给我们越来越多的优势,但是微服务并不是十全十美,因此不能盲目过度滥用,它有很多不足,而且会给系统带来一定的复杂度,其中伴随而来的分布式事务问题,是微服务架构体系下必然需...原创 2019-10-13 11:15:59 · 645 阅读 · 0 评论 -
JVM-GC种类及触发机制
具体JAVA_OPTS参数详解:-Xms2000m -Xmx2000m -Xmn800m -XX:PermSize=64m -XX:MaxPermSize=256m -XX:MaxTenuringThreshold=15Xms表示jvm启动时的初始堆大小,Xmx为最大堆大小,Xmn为新生代的大小PermSize为永久带的初始大小,MaxPermSize为永久代的最大空间MaxTen...原创 2019-08-20 12:48:31 · 1513 阅读 · 0 评论 -
高并发和分布式技术
原创 2019-05-14 09:24:06 · 338 阅读 · 0 评论 -
linux 部署 maven jenkins
现由于部门的自动化部署的需要,部署jenkins服务用于自动发版。 1、vi /etc/profile MAVEN_HOME=/home/jyapp/apache-maven-3.0.5export MAVEN_HOMEexport PATH=$PATH:$MAVEN_HOME/bin source /etc/profile...原创 2018-11-16 14:05:49 · 313 阅读 · 0 评论 -
Spring +Mybatis +oracle 实现数据库分页
设计思想:1、分页sql与业务sql解耦合设计。2、多线并发执行count(*)查询sql及分页sql。3、站在巨人的肩膀上进行优化。上代码:PageInterceptor.javapackage com.jy.platform.restservice.mybatis;import java.math.BigDecimal;import原创 2015-10-27 17:42:28 · 7576 阅读 · 0 评论 -
java WEB 控制重复提交请求
针对java 的WEB 项目 在提交时,处理大量数据后(耗时较长)才能提交事务。用户刷新页面后,针对同一条数据进行相同的提交重复操作的场景,可以进行如下防重复性提交。1、定义全局的静态变量参数ConcurrentHashMap,此类是线程安全的。public static Map TOKEN_MAP = new ConcurrentHashMap();//此 类是线原创 2015-03-17 10:43:12 · 3942 阅读 · 0 评论 -
多线程执行 sql查询 提升整体查询效率
对于复杂的业务sql查询,可以考虑如下建议。1.先通过sql查询出主表信息列表list.2.for循环list,补充查询主表对应的子表信息。3.在2的步骤中,可以使用多线程处理for查询。可以参考如下:其中conList 是查询主表返回的list//线程池初始化ThreadPoolExecutor executor = ThreadPool.getThre...原创 2014-08-14 12:20:39 · 15825 阅读 · 0 评论