- 博客(161)
- 资源 (15)
- 问答 (1)
- 收藏
- 关注
原创 mysql高可用mha解决方案
MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在较大程度上保证数据的一致性,以达到真正意义上的高可用。
2024-08-26 11:10:10 738 1
原创 java项目将依赖打进jar、并生成可执行的jar
最近在做JAVA 的SDK 工具,由于SDK 依赖了其他的一些开源工具包,打包时少了依赖工具包,这样其他项目想要用SDK 就需要自己额外增加响应依赖,所以想要把依赖打进SDK。示例中依赖了fastjson处理json数据。
2023-12-09 21:33:39 1045
原创 spring的一个properties配置文件,引用另外一个properties配置的变量
在需要引用的基础配置文件中,输入基础配置文件的配置项 在src/resources/目录创建 app.properties。创建filters,并创建base.properties 输入基本的配置信息。某些场景需要在配置文件中引用其他的配置文件,使用filter即可,pom文件中添加以下部分内容,在配置文件中使用${}引用即可。
2023-10-17 12:39:52 1608
原创 clickhouse优化使用clickhouse-keeper替代zookeeper
ClickHouse Keeper 是 ZooKeeper 的替代品,与 ZooKeeper 不同,ClickHouse Keeper 是用 C++ 编写的,并使用 RAFT 算法实现,该算法允许对读写具有线性化能力。clikhouse-keeper目的在于替换zookeeper,使用clickhouse后,服务器性能,提升了一大截,只需要在配置zookeeper的地方,改成clickhouse-keeper即可。ClickHouse keeper相对zookeeper来说性能更好,维护更方便。
2023-07-14 14:22:14 2708
原创 java中死锁检测和预防
死锁是并发编程中的常见问题,它发生在两个或多个线程被阻塞,等待对方释放锁时。死锁可能导致整个系统冻结或崩溃,是一个难以复现和修复的问题。在本文中,我们将探讨 Java 中死锁的成因、检测方法以及避免死锁的最佳实践。Java中的死锁是当两个或多个线程被阻塞并等待对方释放资源,这种情况叫做死锁。换句话说,两个或多个线程被卡住而无法继续,因为每个线程都持有另一个线程所需的资源,从而导致循环依赖。这可能会导致系统完全冻结或崩溃。例如,考虑两个线程,线程 A 和线程 B,以及两个锁,锁 1 和锁 2。
2023-05-11 09:09:29 890 1
原创 Kafka主题,分区,副本介绍
今天分享一下kafka的主题(topic),分区(partition)和副本(replication),主题是Kafka中很重要的部分,消息的生产和消费都要以主题为基础,一个主题可以对应多个分区,一个分区属于某个主题,一个分区又可以对应多个副本,副本分为leader和follower。副本的作用是保证数据的高可用,一个副本在一个broker节点上,broker就是一个台机器或者一个kafka实例,当某个副本出现故障后,还可以使用其他副本的数据,如果只有一个副本,那么就无法保证高可用。
2023-03-28 14:52:48 1190
原创 Kafka 原理以及分区分配策略剖析
如果消费组内,消费者订阅的Topic列表是相同的(每个消费者都订阅了相同的Topic),那么分配结果是尽量均衡的(消费者之间分配到的分区数的差值不会超过1)。这种分配方式明显的一个问题是随着消费者订阅的Topic的数量的增加,不均衡的问题会越来越严重,比如上图中4个分区3个消费者的场景,C0会多分配一个分区。从消费者的角度来看,基于键的主题添加分区是很困难的,因为分区数量改变,键到分区的映射也会变化,所以对于基于键的主题来说,建议在一开始就设置好分区,避免以后对其进行调整。
2023-03-28 13:46:34 674
原创 OpenResty之Lua语法学习
OpenResty,开源作者章亦春,这个开源 Web 平台主要由章亦春(agentzh)维护。在 2011年之前曾由淘宝网赞助,在后来的 2012 - 2016 年间主要由美国的 CloudFlare 公司 提供支持。目前,OpenResty® 主要由 OpenResty 软件基金会和 OpenResty Inc. 公司提供支持。根据作者早期描述OpenResty最早是顺应OpenAPI的潮流做的,所以 Open 取自“开放”之意,而Resty便是 REST 风格的意思。
2023-03-26 20:35:10 1183
原创 openresty-安装
是一个增强的Nginx,可以编写lua脚本实现非常灵活的逻辑了1.安装开发库依赖2.配置yum的依赖源3.安装OpenResty4.openresty的默认安装目录5.启动openresty(Nginx)6.通过浏览器查看nginx的页面。
2023-03-26 09:52:02 627
原创 Kubernetes HPA自动扩缩容
HPA 自动更新工作负载资源(例如 Deployment 或者 StatefulSet), 目的是自动扩缩工作负载以满足需求。水平扩缩意味着对增加的负载的响应是部署更多的 Pod。这与 “垂直(Vertical)” 扩缩不同,对于 Kubernetes, 垂直扩缩意味着将更多资源(例如:内存或 CPU)分配给已经为工作负载运行的 Pod。如果负载减少,并且 Pod 的数量高于配置的最小值, HPA 会指示工作负载资源(Deployment、StatefulSet 或其他类似资源)缩减。
2023-03-16 09:30:24 599
原创 10 个优化技巧,减少 Docker 镜像大小
Docker 是一种容器引擎,可以在容器内运行一段代码。Docker 镜像是在任何地方运行您的应用程序而无需担心应用程序依赖性的方式。要构建镜像,docker 使用一个名为 Dockerfile 的文件。Dockerfile 是一个包含许多指令(RUN、COPY、EXPOSE 等)的文件。成功执行这些命令后,docker 将创建一个镜像供我们在任何地方使用。
2023-03-16 09:22:05 5440
转载 Kubernetes 篇之 Kubernetes 配置
Secret 对象的名称必须是合法的 DNS 子域名。如果不希望执行这种 base64 字符串的转换操作,你可以选择设置 stringData 字段,其中可以使用任何字符串作为其取值。ConfigMap 是一种 API 对象,用来将非机密性的数据保存到键值对中。使用时,Pods 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。将这些信息放在 secret 中比放在 Pod 的定义或者容器镜像来说更加安全和灵活。作为挂载到一个或多个容器上的卷中的文件。云原生 应用 12 要素 中,提出了配置分离。
2023-02-13 19:05:29 578
转载 带着8个问题5分钟教你学会Arthas诊断工具
Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!是否有一个全局视角来查看系统的运行状况?有什么办法可以监控到JVM的实时运行状态?
2023-02-12 17:57:06 343
原创 1.Kubernetes简介
容器类似于VM,但是它们具有轻量级的隔离属性,可以在应用程序之间共享操作系统 (OS),因此,容器被认为是轻量级的。●接下来,所有Node上运行的Proxy进程通过APIServer查询并监听Service对象与其对应的Endponts信息,建立一个软件方式的负载均衡器来实现Service访问到后端Pod的流量转发功能。●目标Node上运行的Kubelet进程通过APiserver监测到这个"新生的Pod.并按照它的定义,启动该Pod并任劳任怨地负责它的下半生,直到Pod的生命结束。
2023-02-08 12:43:32 260
转载 Kubernetes之Job控制器
Job控制器用于Pod对象运行一次性任务,容器中的进程在正常运行结束后不会对其进行重启,而是将Pod对象置于"Completed"(完成)状态,若容器中的进程因错误而终止,则需要按照重启策略配置确定是否重启,未运行完成的Pod对象因其所在的节点故障而意外终止后会被调度。
2023-02-08 10:18:09 291
原创 Dockerfile 详解,看这一篇就够了
指令格式有两种:注释和指令注释以井号开头,后面跟上信息指令以大写的指令名开头,后面跟上参数指令格式有两种:注释和指令注释以井号开头,后面跟上信息指令以大写的指令名开头,后面跟上参数。
2023-02-07 09:27:33 1025
原创 前端布局神器display:flex
近几年,CSS领域出现了一些复杂的专用布局工具,用以代替原有的诸如使用表格、浮动和绝对定位之类的各种变通方案。Flexbox,或者说是弹性盒子布局模块(Flexible Box Layout Module)是这些新布局工具中的第一个,接着是CSS网格布局模块(CSS Grid Layout Module)。我们会在本文给出一个易于理解的flexbox入门介绍。
2023-01-26 09:15:26 3002
原创 k8s中Controllers 资源控制器
controller是在集群上管理和运行容器的对象,pod通过controller来实现应用的运维比如伸缩,滚动升级等。pod和controller之间通过label标签建立联系。
2023-01-18 14:35:37 1634
原创 使用k8s实现灰度发布,金丝雀,蓝绿发布
Nginx Ingress Controller 实现了项目的网关,作为项目对外的流量入口和项目中各个服务的反向代理。而 Ingress-Nginx 支持配置 Ingress Annotations 来实现不同场景下的灰度发布和测试,可以满足金丝雀发布、蓝绿部署与 A/B 测试等业务场景。
2023-01-17 17:47:06 1861
翻译 Ceph介绍及原理架构分享
Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。
2022-12-29 21:21:05 1027
原创 rancher2.6使用nfs外部存储
选择某个集群-项目, PVC-添加PVC,需要填写的内容如下。选择使用现有的PV,并选择刚才创建的PV。PVC创建完成后,就可以被服务使用了。每台node安装 nfs客户端。选择一个当前项目下的命名空间。
2022-12-26 19:40:22 669
原创 etcd集群搭建使用
ETCD是用于共享配置和服务发现的分布式,一致性的KV存储系统。ETCD是CoreOS公司发起的一个开源项目,授权协议为Apache。
2022-12-09 20:06:27 2608
原创 ffmpeg视频处理
视频文件是一个容器,里面有视频流、音频流、也有字幕等信息。常见格式比如:mp4、avi、webm、mkv、flv等。编码的效率,体现在数据压缩比、信息还原度,以及处理速度等指标上。编码器就是对编码算法的实现,常见如libx264、libx265、libvpx、libaom,前两个开源,后两个是Google的,也就是我们常用Chrome浏览器内置的编码器。
2022-11-27 23:00:28 1147
原创 下一代时间同步服务 Chrony入门
Chrony是一个多功能的NTP (Network Time Protocol)实现,类Unix系统上NTP客户端和服务器的替代品。它可以通过NTP服务或者类似GPS时钟接收器的硬件级参考时钟来同步系统时钟,具有更好的时钟准确度,并且对于那些间歇性互联网连接的系统很有帮助。
2022-11-25 18:04:04 1503
原创 letsencrypt的免费https证书申请与nginx部署
免费自动更新https服务器●第一步 选择好使用的软件和系统,本文使用centos和nginx。输入上面的命令,按照提示信息输入 电子邮箱和域名。●第三步 安装python-cert-nginx。●第五步 打开nginx.conf 添加。●第二步 使用下面命令安装相关工具。●第七步 配置定时任务 定时更新证书。●第四步 使用命令,获得证书。使用certbot获取证书。●第六步 重启nginx。
2022-11-25 17:31:12 363
原创 分布式任务调度项目xxl-job
xxl-job分布式任务调度平台,是一个轻量级分布式任务调度平台, 其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
2022-11-22 17:24:11 1468
原创 srs流媒体录制视频-配置dvr
dvr它是一套进行图像存储处理的计算机系统,具有对图像/语音进行长时间录像、录音、远程监视和控制的功能。DVR采用的是数字记录技术,在图像处理、图像储存、检索、备份、以及网络传递、远程控制等方面也远远优于模拟监控设备,DVR代表了电视监控系统的发展方向,是市面上电视监控系统的首选产品。硬盘录像机(Digital Video Recorder,简称DVR),即数字视频录像机,相对于传统的模拟视频录像机,采用硬盘录像,故常常被称为硬盘录像机,也被称为DVR。这里dvr_duration设置的是30秒记录一次。
2022-11-22 16:50:21 2222 1
原创 MySQL迁移到ClickHouse
ClickHouse 新增 MaterializeMySQL引擎 ,可通过binlog日志实时物化mysql数据,提升数仓的查询性能和数据同步的时效性;原有mysql中承担的数据分析工作可交由clickhouse去做,这么做可显著降低线上mysql的负载,从此OLTP与OLAP业务实现完美融合。
2022-11-18 16:30:06 1713 1
原创 clickhouse 三种高可用方案
在clickhouse高可用实现中,通常会通过LB方式使每台服务器能够均匀的接受到客户端的请求,另外一点就是在其中一台服务发生故障,仍然能通过故障转移方式正常对外提供服务。
2022-11-14 15:15:07 5047 2
xxl-job管理界面,调度中心
2022-11-22
实现浏览器超大文件,分片断点,续传
2022-09-08
基于thrift的RPC调用实例
2020-05-27
腾讯网新版首页-源码.zip
2020-05-19
Centos6 + Oracle 11g r2 + nfs搭建RAC环境.pdf
2020-01-16
喜马拉雅歌曲移动
2019-01-13
easyui 和 pdo 增删改查示例
2017-12-27
windows 7/8 内存虚拟盘,同时支持32位/64位系统,附件附教程
2017-10-21
jQuery点击头像上传本地预览裁剪图片
2017-09-05
路由器flash升级到8M,教程
2013-06-02
请教android 6.0如何在系统的/tmp目录创建文件
2021-09-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人