- 博客(137)
- 资源 (19)
- 收藏
- 关注
原创 JAVA主流压缩解压工具对比、用法与选取
*适用场景:**支持多种压缩格式,如ZIP、Gzip、Tar等,适合复杂的压缩与解压缩操作,可用于处理各种压缩格式和对多个文件或目录进行打包、解压缩。**适用场景:**支持ZIP格式,提供了一些高级功能,如密码保护、分卷压缩等,适合复杂的ZIP格式的压缩与解压缩操作。**适用场景:**适合对大量数据进行实时压缩和解压缩,例如在网络传输或大数据处理中,追求较高的压缩/解压缩速度。**说明:**Snappy是一种快速的压缩和解压缩算法,具有较快的压缩和解压缩速度,适合高性能场景。
2023-07-22 16:06:35
7048
原创 解决Docker Swarm集群模式下部署Centos执行Systemctl报错问题:“Failed to get D-Bus Connection: Operation not permitted“
在Docker Swarm模式下, 出于安全考虑, 迄今的版本都不支持privileged参数把权限完全放开,单节模式下采用docker run 命令是可以支持privileged参数, 但这样无法利用Docker Swarm集群对所有docker节点进行管理以及网络的通信配置, 这样就导致通过Docker Swarm集群部署centos容器时, 出现Failed to get D-Bus Connection: Operation not permitted等权限相关问题...
2023-04-30 10:58:58
719
原创 【生产级实践】Docker部署配置Hadoop3.x + HBase2.x实现真正分布式集群环境
网上找了很多资料,但能够实现Docker安装Hadoop3.X和Hbase2.X真正分布式集群的教程很零散,坑很多, 把经验做了整理, 避免趟坑。
2023-04-09 10:34:37
2915
2
原创 TDEngine集群监控组件安装配置(Telegra+Grafana方案)
1)检查数据库是否生成了采集数据库udb, 如果没有生成, 检查telegraf的配置, 并且确认6041端口是否开放;需要在集群的所有数据节点上, 都安装telegraf(参考第2节),将采集的数据写入到tdengine中。在Grafana主页, 左侧功能菜单中, 点击“+”选择“import”导入功能, 将配置文件导入进去。2)检查grafana的看板配置参数, database的监控数据库名称是否正确。命令,可以查看Telegraf是否正常运行,并输出采集到的数据。
2023-03-02 16:09:51
1541
1
原创 【掌握K8S集群部署】手把手真正实现Kubernetes集群的配置与部署(附问题解决方法)
K8S的安装官网和网上的资料都很多, 但系统性能够手把手有效安装完成的比较少,所以根据实践,给出一篇能够安装部署的完整操作教程, 并且解决安装过程当中的各种问题
2022-11-27 22:12:56
2095
原创 【快速掌握Docker】Docker高级运用汇总--Dockerfile、Docker Compose与Docker Swarm使用
Dockerfile的构建、Docker Compose的使用与Docker Swarm集群模式配置使用
2022-11-19 17:58:14
690
原创 【快速掌握Docker】安装、基本常用命令与Portainer可视化管理
快速掌握Docker的使用, 包括如何安装、生产实际常用的操作命令、以及Portainer可视化管理操作等
2022-11-13 16:18:19
1216
原创 Hadoop大数据生产环境问题 - Reducer内存超出限制被强制结束(memory limit...Killing container错误)
'PHYSICAL' memory limit. Current usage: XXX GB of XXX GB physical memory used; XXX GB of XXX GB virtual memory used. Killing container 问题解决方法
2022-11-04 15:30:31
1094
原创 【Spring Boot 集成应用】 OAUTH2集成配置案例(JWT+Redis+增强TOKEN方式)
这里用到了OAUTH2的客户端模式和密码模式, 适合微服务场景大用户量的接入,采用Redis缓存, 能够保障较高的性能, JWT附带信息不能过多, 会增加传输资源开销, 加密方式也不能过于复杂, 影响CPU性能, 如果有较多额外信息需要传递, 可以采用TOKEN增强模式, 数据存储在缓存, 不会带来过多的IO开销。在实际项目当中, 要做仔细权衡,能加入缓存地方尽量加入, 保障安全的同时, 也要有较好的性能...
2022-09-25 10:44:53
2828
原创 【Spring Boot 集成应用】 OAUTH2统一认证单点登录中的各种模式说明
传统登陆方式是在每个服务进行登陆认证, 每个服务保存自己的用户数据, 并独立实现登陆认证逻辑。随着服务的不断扩展, 用户数据很难集中统一,开发成本不断增加, 用户交互也极为不便 。单点登陆是通过统一认证授权服务, 完成所有服务节点的登陆授权工作,需一台认证服务器,统一用户数据库, 完成用户认证授权, 控制资源访问, 支持其他服务或第三方应用接入, 扩展性强, 开发和运维成本降低。
2022-09-24 17:47:05
2227
原创 【Spring Boot 集成应用】Spring Security集成整合配置使用
Spring Boot 与Spring Security 集成, 包含一般集成用法, 还包括自定义用户登陆页面使用, 自定义内存模式验证, 以及自定义登陆成功与失败逻辑处理。
2022-09-18 09:36:01
728
原创 【Spring Boot 集成应用】Spring Boot Admin的集成配置使用
主要全面讲解Spring Boot Admin的集成配置使用, 各种用法, 包括直连模式与注册中心模式的使用, 与Spring-Security的集成权限控制,Spring Boot Admin监控台的全面使用等
2022-09-11 23:54:28
4069
1
原创 Jenkins+Pipeline Script+Groovy+Mysql 持续集成配置
Jenkins中的Pipeline Script功能十分强大,不再简单的调用SHELL指令, 可以完全支持Groovy脚本语言,兼容JAVA生态,可以支持各种第三方组件,再加入Mysql的打包配置持久化, 可以很灵活的实现各种复杂打包的场景,更好的控制管理版本的打包,实现可持续性的集成配置管理,可以极大的简化打包配置工作量。这里讲解具体的配置使用, 以及在使用过程中所遇到的一些问题的处理。
2022-09-07 19:44:30
2794
原创 【Spring Boot 集成应用】Actuator监控功能使用
Spring Boot Actuator监控功能, 包含常用的内置监控节点, health、beans、metrics、conditions、heapdump等,通过实践案例, 全面掌握自定义Actuator的用法, 在实际项目中根据需要, 扩展自定义监控节点或改进内置监控节点
2022-09-05 10:00:00
1688
原创 【Spring Boot 集成应用】Spring Boot与MongoDB的集成配置使用
Spring Boot Data MongoDB 集成运用, 主要包含模板模式,JPA Repository 模式和响应模式,以及事务的使用。 在一般情况下, 采用模板模式即可满足需要, 如果需要用到事务, 查询复杂, 操作量大的话可以采用JPA模式。 交互频繁的场景性下, 建议自定义封装连接池使用, 提升性能与稳定性...
2022-08-27 17:02:14
1848
原创 Docker启动故障问题 no such file or directory解决方法
服务重启后, 通过docker start 方式无法启动实例, 报出错误: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/xxx/merged: no such file or directory , 可以通过以下方法, 在不损坏容器数据的前提下,恢复运行...
2022-08-15 16:58:47
18684
原创 【Spring Boot 集成应用】Redis的集成用法
Java 封装的常用Redis框架有Jedis、Redisson和Lettuce等,这些框架帮我们解决了Redis的连接管理、API操作问题, Spring Boot 在 Lettuce基础上做了进一步封装, 提供了spring-boot-starter-data-redis组件, 帮助我们更为简化方便的使用Redis功能。 Spring-boot-data-redis 提供了几个Redis操作模板, 例如: RedisTemplate、StringRedisTemplate、ReactiveRedisT
2022-08-14 09:38:28
651
原创 【Spring Boot 集成应用】Kafka的集成用法
Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,如果有大量的消息处理(10W+),对一致性要求不高, 那么可以采用KAFKA, 比如日志采集、 数据同步与归档、实时流数据处理等场景。 Spring 官方为我们提供了Spring-kafka组件, 这里讲解如何与Spring Boot集成使用,并通过代码将全面讲解Kafka普通订阅模式、死信队列配置使用、多路订阅模式以及事务控制的使用。...
2022-08-07 13:30:19
21921
1
原创 【Spring Boot 集成应用】RocketMQ的集成用法(下)
Spring Message 是一种消息传输规范, RocketMQ可以支持, 在Spring Cloud Stream 中采用的就是Spring Message作为消息传输规范, 这是一个用于构建基于消息的微服务应用框架。ACL是Access Control List简称, 意为访问控制列表, 是RocketMQ4.4新加入的功能。加入ACL能够通过权限管理控制消息队列, 针对不同角色用户分配不同的队列操作权限, 便于权限管控, 提升消息队列数据的安全性。...
2022-07-31 11:49:15
20342
原创 【Spring Boot 集成应用】RocketMQ的集成用法(上)
在金融互联网领域广泛应用,在阿里双11活动经历过多次考验, 经过严苛的生产验证,有比较高的可靠性,在数据处理上有比较高的稳定性, 能从最大程度上保证消息不易丢失,如果业务上有一定的规模, 且对数据的一致性,稳定性要求严苛, 那么可以采用RocketMQ, 比如金融互联网领域, 支付场景、交易场景等。如果有借助消息队列实现分布式事务, RocketMQ可以作为首选。...
2022-07-31 11:42:35
21252
原创 【Spring Boot 集成应用】RabbitMQ的集成用法
RabbitMQ是主流开源消息队列中间件, 遵循AMQP(Advanced Message Queuing Protocol高级消息队列协议), AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求较低。RabbitMQ主要有三种模式: Direct、Topic 和 Fanout。配置和使用上存在一些差别, 下面对这三种模式的集成使用做具体讲解...
2022-07-28 20:16:14
21242
原创 【Spring Boot 集成应用】ElasticSearch的集成配置使用
Spring-boot支持ElasticSearch的集成, 并提供了spring-boot-starter-data-elasticsearch自动化配置组件。 这里会介绍如何通过该组件, 集成至项目中使用, 并实现基本的增删改查功能,同时演示集成的一些高级用法, 比如流式查询、自定义查询和异步查询。...
2022-07-19 11:03:01
22023
1
原创 【Spring Boot 源码研究 】- 请求处理流程机制分析
之前我们对Spring Boot做了研究讲解,我们知道怎么去集成配置, 知道它如何启动, 如何实现自动化配置,那么它如何接收并处理外部请求, 具体原理是怎样, 又要流转哪些关键环节? filter,interceptor, view是在哪调用, 处理顺序是怎样?Spring Boot 和Spring MVC以及内置容器又是怎样的作用关系? 这里我们作具体剖析研究。......
2022-07-10 11:15:39
20477
原创 【Spring Boot 源码研究 】- 自动化装配条件化配置AutoConfigurationImportFilter剖析
之前讲解了SpringBootCondition自动化条件配置,我们分析了内部是如何具体实现,在整个实现当中, 还有一个很重要的接口, AutoConfigurationImportFilter是它的前置调用, 它是一个过滤器接口,我们再做深入研究, 看下是如何控制处理这么多条件注解, 又是怎样过滤处理的,从性能效率又做了哪些处理?...
2022-07-03 21:20:09
20336
原创 【Spring Boot 源码研究 】- 自动化装配条件化配置Conditional剖析
在一个服务工程, 通常会存在多个配置环境, 比如常见的DEV(开发环境)、SIT(系统内部集成测试环境)、UAT(用户验收测试环境)、PRD(生产环境)等。在Spring3系列版本中通过@Profile实现,传入对应的环境标识, 系统自动加载不同环境的配置。spring4版本正式推出Condition功能, 在spring5版本, @Profile做了改进,底层是通过Condition实现各种自动化装配...
2022-06-26 12:25:24
20582
原创 GIT多项目多版本迁移合并操作方案
在实际场景中,我们会将服务进行拆分, 也可能需要重构,将多个服务模块进行合并,简化维护。如何将多个GIT项目统一合并迁移至一个项目, 并且又可以保留各个版本的历史记录? 下面讲解具体操作步骤。...
2022-06-12 15:21:27
25868
原创 【Spring Boot 源码研究 】- 自动化装配机制核心注解剖析
Spring Boot针对mvc做了大量封装,简化开发者的使用,内部是如何管理资源配置,Bean配置,环境变量配置以及启动配置等? 实质是SpringBoot做了大量的注解封装,比如@SpringBootApplication, 同时采用Spring 4框架的新特性@Conditional基于条件的Bean创建管理机制来实现;实际的工作场景中是复杂多样的, 有些项目需要不同的组件, 比如REDIS、MONGODB作缓存; RABBITMQ、KAFKA作消息队列; ......
2022-06-07 19:14:24
22060
原创 【Spring Boot 源码研究 】- 启动流程分析
Spring Boot源码研究-启动流程分析一、Spring Boot 工程结构下载Spring Boot工程源码, 下载地址模块代码结构: 比较重要的是Spring-boot、Spring-boot-autoconfigure以及Spring-boot-starters等组件。工程模块介绍spring-bootspring boot框架核心插件,对其他模块提供主要支持。内部包含所熟知的SpringApplication类, 提供应用程序入口, 内嵌支持Tomcat、J
2022-05-29 16:52:46
22200
原创 如何做好生产MySQL主从同步配置,避免趟坑HA_ERR_KEY_NOT_FOUND错误
一、问题现象背景: 生产环境出现主从同步的故障, 出现的错误为HA_ERR_KEY_NOT_FOUND, 错误码为1032,检查主从数据没有出现缺失, 表结构和数据都完全一致, 经过排查问题是在于主从同步的配置,这里以示例做模拟重现,逐步分析定位出具体原因。1、升级后, 主从同步出现故障, 错误码为1032,进入从节点, 查看主从同步状态show slave status\G出现如下错误:2、查看具体的错误信息select * from performance_schema.replic
2022-04-19 15:56:22
3416
原创 Redis高级运用之持久化配置策略与运维优化
一、 Redis的特性性能高Redis能读的速度是10W+次/s,写的速度是8W+次/s 。丰富的数据类型Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。操作原子性Redis的所有操作都是原子性的,Redis还支持对几个操作全并后的原子性执行。功能丰富支持 publish/subscribe, lua脚本、事务、pipeline、 通知、 key 过期等等特性。支持多种编程语言java,
2022-04-11 16:29:07
3447
原创 多业务线下的代码版本管理控制与研发流程规范
一、版本管理流程主干分支(main): 研发的分支从主干检出、经过测试(UAT)验收后必须要合并到main分支上,并且需要发布到UAT环境上再次验收,方可发布, 此分支名称固定为main,每个业务线只存在一个。功能分支(feature): 需求研发、功能迭代、缺陷修复、处于研发中的分支。此分支名称按版本规范命名, 每个业务线允许多个存在。测试分支(uat): 发布到测试环境的分支,任何研发修改,都需合并到此分支进行测试验证。 此分支名称固定为uat,每个业务线只存在一个。二、各业
2022-03-18 09:00:00
25786
原创 TDEngine生产实践开发经验趟坑总结
一、安装与配置问题总结服务端的安装版本与客户端需要保持一致。(如果是在同一主机,安装服务端后, 会自带客户端。)etc/hosts下的IP与主机名称的映射, 不要存在多个映射,即IP与主机名称保持唯一性。如果IO瓶颈, 要注意dataDir是否配置多个存储路径,且在不同磁盘下面,配置新的目录时需清空原有数据,多个dataDir配置示例:dataDir /data/tdengine/data1 0 1dataDir /data/tdengine/data2 0 0dataDir /d
2022-02-10 10:39:31
29219
原创 Netty高并发下数据丢失问题与性能优化配置
一、Netty高并发下数据丢失问题分析处理1、现象客户端与服务端采用长连接通讯, 传输数据量不大情况下不会出现数据丢失,在大数据量高并发场景下,会出现极少数的数据丢失,存在偶发性。 仔细分析代码处理逻辑,并无问题,查看netty的配置以及编解码处理, 也没有问题。2、定位数据丢失可能在传输任何环节都会出现, 需要定位缩小排查范围。 在服务端整个流转环节上都加上日志: 解码器->数据接收->业务逻辑处理->数据发送->编码器,发现数据接收的数量与客户端发送的数量一致, 业务逻辑
2022-01-30 14:51:35
36746
3
原创 Ansible自动化部署配置实践(实现TDEngine集群的自动化部署)
一、说明Ansible是一款基于Python的自动化运维,用于发布、管理和编排计算机系统的工具、而且可以支持批量系统配置、批量部署运维、批量运行命令等功能。这里以TDEngine的集群部署为例, 讲解如何通过Ansible实现自动化部署。二、Ansible的安装先安装 CentOS 7 的 EPEL repository[root@localhost ~]$ yum install -y epel-release确保yum数据源安装成功。安装ansible[root@localho
2022-01-06 09:43:45
28590
1
原创 TDEngine数据库生产级集群安装部署方案
一、说明TDengine是按照分布式高可靠架构设计,支持水平扩展,能够有效保障系统的可用性和可靠性,生产环境中一般都是多节点部署,TDengine集群部署需要三个以上节点,如果只部署两个数据节点也是可行, 但需要署Arbitrator节点(为模拟节点,不处理任何数据)。二、集群部署结构部署信息机器IP与端口:10.16.161.186:603010.16.161.187:603010.16.161.188:6030节点类型共有三个数据节点(DNODE),两个管理节点(MN
2022-01-04 14:09:37
30710
1
原创 Redis生产级高可用集群配置部署方案
1. 基于主从+哨兵的集群模式说明:由一主双从 + Sentinel哨兵集群(三个节点)实现的高可用。为保证可用性,需要三台机器。适用场景:数据量不大、写入量少、扩展性要求不高部署结构拓扑图Redis主从安装部署说明:假定IP:MASTER: 192.168.0.1SLAVE1: 192.168.0.2SLAVE2: 192.168.0.3Redis的安装不做赘述,侧重讲解如何配置,这里主要列出差异性的配置:1) 主节点(master)配置:port
2021-12-28 18:38:26
31233
原创 基于Spring Boot自动化装配机制实现多数据库适配
1. 背景说明一个应用服务可能会用到多种数据库,可以采用多版本方式去管理运作,实际当中,同一套数据库版本可能又会适配不同的客户需求, 这时候再增加版本去维护会比较复杂, 不利于维护,有没办法根据配置去采用不同的数据库, 只要针对客户一个维度去维护版本即可。2. 实现机制要能够适配不同数据库, 数据层需定义统一的接口,由具体的数据库组件做实现,对上游调用Service来讲是透明的。设计流程:工程结构:技术上通过Spring Boot 自动化装配机制去实现不同数据库的适配, 由条件化配置去决定
2021-12-20 10:35:26
29817
1
原创 最新版sentinel监控数据源持久化与influxdb2的集成实现
1. 说明Sentinel的实时监控数据, 默认是放在内存里面, 采用ConcurrentHashMap结构,只保留5分钟时间内的数据,不能满足实际生产中的监控需要, 这里我们进行二次开发改造。改造使用的版本:Sentinel为1.8.X版本InfluxDB为2.X系列版本2. Sentinel源码改造下载Sentinel的源码, 修改sentinel-dashboard模块创建包com.alibaba.csp.sentinel.dashboard.influxdb, 将修改的源码放
2021-11-18 23:16:42
29339
1
原创 实现Log4j和Logback的统一日志封装与动态日志级别调整
一、背景项目中使用日志的地方非常广泛, 如果要做统一的处理,比如调整格式, 增加信息打印, 要修改很多地方,难以维护,所以需要能够将日志做一个统一的封装, 便于扩展使用;同时想做到动态调整日志级别,在生产环境修改日志级别, 将开销降到最低, 在出现故障时, 又可以重新调整日志级别而不需要重新启动服务, 便于问题的排查定位。二、统一日志的封装如果实现统一日志, 需要自己封装一层实现,但在实际日志打印中,往往会打印出所封装的类信息, 而并非实际调用的类信息, 该如何解决这个问题? 网上有很资料, 一般都是
2021-10-23 23:28:52
32635
Docker Swarm部署Hadoop3.x + HBase2.x真正分布式集群环境配置参考资源
2023-04-09
docker下debian9的vim安装
2023-03-28
Kubernetes集群配置与部署, 涉及的配置与部分组件安装包
2022-11-28
SpringBoot集成使用教程源码
2022-08-14
funambol_dm_server源码改造Eclipse工程
2012-01-06
J2ME手机照相图片解析程序
2009-05-20
ssh+extjs设计的订单管理系统
2008-12-10
JasperReports 3.0.1_quick_reference
2008-12-05
jaserreport结合struts 的打印实例源码
2008-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人