大家好,我是小富~(一)好好的系统,为什么要分库分表?本文是《分库分表ShardingSphere5.x原理与实战》系列的第二篇文章,距离上一篇文章已经过去好久了,惭愧惭愧~还是不着急实战,咱们先介绍下在分库分表架构实施过程中,会接触到的一些通用概念,了解这些概念能够帮助理解市面上其他的分库分表工具,尽管它们的实现方法可能存在差异,但整体思路基本一致。因此,在开始实际操作之前,我们有必要先掌握这些通用概念,以便...
大家好,我是小富~前言忙里偷闲学习了点技术写了点demo代码,打算提交到我那2000Star的Github仓库上,居然发现有5个Issues,最近的一条日期已经是202281了,以前我还真没留意过这些,我这人懒得很,本地代码提交成功基本就不管了。仓库地址:https:github.comchengxyndsSpringbootNotebook5个Issues中,有个标题"优化本仓库大小的建议"吸引我了,赶紧点进去看看啥情况,这个哥们说我这个仓库太大了,...
大家好,我是小富之前有个小伙伴在技术交流群里咨询过一个问题,我当时还给提供了点排查思路,是个典型的八股文转实战分析的案例,我觉得挺有意思,趁着中午休息简单整理出来和大家分享下,有不严谨的地方欢迎大家指出。问题分析我们先来看看他的问题,下边是他在群里对这个问题的描述,我大致的总结了一下。他们有很多的IOT设备与服务端建立连接,当增加设备并发请求变多,TCP连接数在接近1024个时,可用TCP...
大家好,我是小富~说在前边今天是《分库分表ShardingSphere原理与实战》系列的开篇文章,之前写过几篇关于分库分表的文章反响都还不错,到现在公众号:程序员小富后台不断的有人留言、咨询分库分表的问题。我也没想到大家对于分库分表的话题会这么感兴趣,可能很多人的工作内容业务量较小很难接触到这方面的技能。这个系列在我脑子里筹划了挺久的,奈何手说啥也不干活,就一直拖到了现在。其实网上关于分库分表相关的文...
1.背景事务处理(OLTP)和分析处理(OLAP)混合的工作负载在当前的业务系统中变得越来越常见。由于实时、易运维等需求,一些业务系统会采用HTAP数据库来代替原有的OLTPETLOLAP架构,这种所谓的HTAP数据库,可以在一套数据库系统中,同时较为高效地处理TP请求和AP请求。然而,由于TP请求和AP请求的访问模式截然不同,高效处理两种请求依赖于不同的存储格式和计算模式。因此,一类HTAP数据库会存储两种不同格式的数据,并在处理不同的...
2023-05-05 10:59:35 432浏览 0点赞 0回复 0收藏
新增特性:新增HarmonyOSConnect解决方案的配置可视化功能,支持可视化配置vendor和device仓信息,并一键拉取代码仓中的代码到对应的工程目录中。新增自动打印并保存DevEcoDeviceTool系统日志和编译日志,可以通过修改log.ini文件对日志进行配置,包括日志名称、存储路径、单个日志文件的大小等。新增支持配置本地烧录器的功能,若烧录器存在新版本或需要使用其它烧录器,您可以在Uploader>UseCustomBurnTool指定本地的烧录器。...
2023-03-20 17:11:28 377浏览 0点赞 0回复 0收藏
新增特性:在创建OpenHarmony工程阶段,新增支持使用DevEcoDeviceTool自动下载OpenHarmony稳定版本源码、OpenHarmony样例源码及HarmonyOSConnect解决方案源码的功能,一键实现源码的导入。具体请参考创建OpenHarmony新工程章节。新增支持HarmonyOSConnect解决方案的开发,开发完成后,DevEcoDeviceTool支持对manifest和profile文件进行重打包,以便上传到DevicePartner平台进行后续托管和流转,具体请参考打包Harmo...
2023-03-20 16:17:40 569浏览 0点赞 0回复 0收藏
新增特性:新增支持跨设备工程模板,开发者可通过工程向导创建跨设备工程,开发跨设备应用。同时,工程创建向导发生了较大变化:历史版本:先选择设备,再选择工程模板当前版本:需先选择工程模板,然后再选择支持的设备类型。具体请参考创建一个新的工程。新增支持原子化服务AtomicService的代码开发、编译、调试、运行等,原子化服务是HarmonyOS提供的一种面向未来的服务提供方式,是有独立入口的(用户可通过点击、...
2023-03-20 16:01:21 303浏览 0点赞 0回复 0收藏
版本兼容性DevEcoStudio3.0Beta2版本兼容性配套关系如下表所示,对于系统要求请参见运行环境要求。组件版本要求说明Gradle7.3(最低版本要求7.2)在使用DevEcoStudio进行编译构建的场景,DevEcoStudio自带了gradle7.3版本,无需单独安装;如果是使用流水线编译构建场景,需要开发者手动修改工程的gradlewrappergradlewrapper.properties中对应的gradle版本号为7.3。JDK11.0.x在使用DevEcoStudio进行编译构建的场景,Dev...
2023-03-20 16:00:16 532浏览 0点赞 0回复 0收藏
DevEcoStudioBeta4版本同时支持HarmonyOS和OpenHamrony应用服务的开发。其中,HarmonyOS支持APIVersion48,OpenHarmony支持APIVersion8和9。版本兼容性DevEcoStudio3.0Beta4版本兼容性配套关系如下表所示,对于系统要求请参见运行环境要求。组件版本要求说明HarmonyOSSDKToolchainsAPI4至8HarmonyOSSDK支持API4至8。OpenHarmonySDKToolchainsAPI8和9OpenHarmonySDK支持API8和9。JDK11.0.x在使用DevEcoStudio进行编译构...
2023-03-20 15:57:52 584浏览 0点赞 0回复 0收藏
DevEcoStudioBeta3版本只支持OpenHarmony应用服务的开发。版本兼容性DevEcoStudio3.0Beta3版本兼容性配套关系如下表所示,对于系统要求请参见运行环境要求。组件版本要求说明OpenHarmonySDKToolchains3.1.5.5OpenHarmonySDK支持API8和9。Node.jsv14.18.3及以上,且只支持14系列版本。DevEcoStudio已内置Node.js14.19.1版本,无需单独安装。如果是使用流水线编译构建场景,推荐开发者手动安装v14.19.1及以上版本,且只支...
2023-03-20 15:44:55 329浏览 0点赞 0回复 0收藏
DevEcoStudio3.1Canary1为早期体验版本,与HarmonyOS3.1DeveloperPreview版本配套,支持3.1.0(API9)Stage模型应用开发,当前版本支持Phone设备,后续版本将支持更多的设备类型。同时本次还提供了差异化构建打包、跨语言混合调试、API参考快速查阅等特性,欢迎大家体验。版本兼容性DevEcoStudioV3.1Canary1版本兼容性配套关系如下表所示,对于系统要求请参见运行环境要求。组件版本要求说明HarmonyOSSDKToolchainsAPI4...
2023-03-20 15:29:33 276浏览 0点赞 0回复 0收藏
版本兼容性DevEcoStudioV3.0Release版本兼容性配套关系如下表所示,对于系统要求请参见运行环境要求。组件版本要求说明HarmonyOSSDKToolchainsAPI4至8HarmonyOSSDK支持API4至8。OpenHarmonySDKToolchainsAPI8和9OpenHarmonySDK支持API8和9。JDK11.0.x在使用DevEcoStudio进行编译构建的场景,DevEcoStudio自带了JDK11版本,无需单独安装;如果是使用流水线编译构建场景,需要配置JAVAHOME为JDK11。Node.jsv14.19.1及以上...
2023-03-20 15:29:04 340浏览 0点赞 0回复 0收藏
将Consul日志加入Syslog此处为可选项,如果你需要单独将日志输出到ELK,那么此项配置非常有必要,因为默认的日志都打到syslog中了。创建目录&赋权mkdirpvarlogconsulchownRsyslog.syslogvarlogconsul创建日志配置文件cat>etcrsyslog.dconsul.conf<<EOFlocal0.varlogconsulconsul.logEOF修改默认配置文件中的以下内容vimetcrsyslog.d50default.conf变更前.;auth,authpriv.nonevarlogsyslog变更后.;auth,authpriv.none,local0.non...
2022-07-06 15:26:20 2621浏览 0点赞 0回复 0收藏
创建Server{13}配置文件生成密钥CONSULKEYconsulkeygennodeid一定不可以重复,servername可以随便定义创建server1配置文件cat>dataconsulserverconfigconfig.json<<EOF{"datacenter":"prometheus","bindaddr":"192.168.1.153","loglevel":"INFO","nodeid":"09d82408bc4f49e0111161ef1d4842f7","nodename":"server1","datadir":"dataconsulserverdata","server":true,"bootstrapexpect":3,"encrypt":"${CONSULKEY}","ui":true,"cl...
2022-07-06 15:26:13 1561浏览 0点赞 0回复 0收藏
本章节会对Consul的架构与自动发现、Template配置做全面讲解。Consul架构上图是官网提供的一个事例系统图,图中的Server是consul服务端高可用集群,Client是consul客户端。consul客户端不保存数据,客户端将接收到的请求转发给响应的Server端。Server之间通过局域网或广域网通信实现数据一致性。每个Server或Client都是一个consulagent。Consul集群间使用了GOSSIP协议通信和raft一致性算法。上面这张图涉及到了很多术语:Agent...
2022-07-06 15:26:09 1749浏览 0点赞 0回复 0收藏
本章节讲解服务发现与Relabelling的机制与范例。通过服务发现的方式,我们可以在不重启Prometheus服务的情况下动态的发现需要监控的Target实例信息。如上图所示,对于线上环境我们可能会划分为:dev,stage,prod不同的集群。每一个集群运行多个主机节点,每个服务器节点上运行一个NodeExporter实例。NodeExporter实例会自动注册到Consul中,而Prometheus则根据Consul返回的NodeExporter实例信息动态的维护Target列表,从而向这些T...
2022-07-06 15:26:04 2260浏览 0点赞 0回复 0收藏
基于DNS的发现对于一些环境,可能基于文件与consul服务发现已经无法满足的时候,我们可能就需要DNS来做服务发现了。在互联网架构中,我们使用主机节点或者Kubernetes集群通常是不对外暴露IP的,这就要求我们在一个内部局域网或者专用的网络中部署DNS服务器,使用DNS服务来完成内部网络中的域名解析工作。这个时候我们就可以使用Prometheus的DNS服务发现,Prometheus的DNS服务发现有俩种方法,第一种是使用DNAA记录来做自动发现...
2022-07-06 15:25:58 2716浏览 0点赞 0回复 0收藏
本章节主要讲自动发现使用场景介绍与Prometheus基于文件、DNS的自动发现配置.当我们使用各类exporter分别对系统、数据库和HTTP服务进行监控指标采集,对于所有监控指标对应的Target的运行状态和资源使用情况,都是用Prometheus的静态配置功能staticconfigs来手动添加主机IP和端口,然后重载服务让Prometheus发现。对于一组比较少的服务器的测试环境中,这种手动方式添加配置信息是最简单的方法。但是实际生产环境中,对于成百上...
2022-07-06 15:25:50 3866浏览 0点赞 0回复 0收藏
Rules类型Prometheus支持两种类型的Rules,可以对其进行配置,然后定期进行运算:recordingrules记录规则与alertingrules警报规则,规则文件的计算频率与警报规则计算频率一致,都是通过全局配置中的evaluationinterval定义。alertingrules要在Prometheus中使用Rules规则,就必须创建一个包含必要规则语句的文件,并让Prometheus通过Prometheus配置中的rulefiles字段加载该文件,前面我们已经讲过了。其实语法都一样,除了recor...
2022-07-05 17:35:36 4236浏览 0点赞 0回复 0收藏