笔者曾经写过一篇文章,介绍ShardingSphere在具体代码细节上的优化案例,但文章中没有介绍如何发现「代码优化点」。本文将结合之前笔者在ShardingSphere相关性能问题排查、优化经验,简要地介绍ShardingSphere性能问题排查、优化应如何入手。由于ShardingSphere本身也是Java应用,本文的经验同样也适用于与ShardingSphere无关的Java应用。一定要进行性能优化吗?PrematureoptimizationistherootofallevilDonaldKnuth进行性能优...
2023-05-25 11:54:20 114浏览 0点赞 0回复 0收藏
ShardingSphereonCloud子项目ApacheShardingSphereonCloud是ApacheShardingSphere面向云上解决方案的子项目,覆盖了在AWS、GCP、阿里云、华为云等云环境下面向虚机的自动化部署脚本,如CloudFormationStack模板、Terraform一键部署脚本等,以及在Kubernetes环境下的HelmCharts、Operator、自动水平扩缩容等工具,未来会逐步覆盖云环境下的ShardingSphere高可用、可观测性、安全合规等方面的各类实践内容。🔍如果您想快速了解,...
2023-05-25 11:53:12 129浏览 0点赞 0回复 0收藏
问题分析ShardingSphere经过几年的迅速发展,核心的功能模块已经有六个,并且支持了不同的注册中心如ZooKeeper,Nacos、分布式事务以及不同的开发框架,功能是十分强大且完善的。那么如何将这么强大而且完善的功能让用户轻松的上手使用就是一个比较大的难题。由此,我们开发了一个example模块,通过对于不同功能特性、注册中心、服务框架的组合以及业务逻辑的抽象,形成了我们的example体系。如下图所示:图1ShardingSphere旧ex...
2023-05-18 11:57:55 1079浏览 0点赞 0回复 0收藏
ApacheShardingSphereOnCloud近日迎来了0.2.0版本发布。本次0.2.0版本主要为ShardingSphereOperator引入了全新CRDComputeNode,用于完整定义ShardingSphere架构中的计算节点。ComputeNode介绍在ApacheShardingSphere的经典架构里,主要的组件分为计算节点、存储节点和治理节点。其中计算节点指的是ShardingSphereProxy,是所有数据流量的入口,承担着分片等各类数据治理能力。存储节点指的是数据库。治理节点是用于存放Sharding...
2023-05-18 11:57:12 598浏览 0点赞 0回复 0收藏
在业务系统越来越复杂的今天,用户对系统的运行性能越来越重视,需要对系统运行中的相关指标进行监控,实时获取监控指标信息,对相关问题进行监控预警,并结合业务分析定位出现的异常。我们知道APM(应用性能监控)是通过对系统可观察性数据进行采集、存储和分析,进行系统的性能监控与诊断,主要功能包括性能指标监控、调用链分析,应用拓扑图等。一般通过Metrics(指标监控)、Tracing(链路跟踪)、和Logging(日志)的手段...
2023-05-18 11:47:48 459浏览 0点赞 0回复 0收藏
早期处理使ShardingSphere能够Native化的早期处理作为临时性的措施,将GraalVMNativeImage形态的ShardingSphereProxy命名为ApacheShardingSphereProxyNative以方便之后的处理。对于每夜构建,已有PR只考虑Linux下的GraalVMNativeImage产物和包含此GraalVMNativeImage产物的DockerImage,这有助于在Windows上避开来自MSVC的可能的限制;另一方面,MacOS(aarch64)在GraalVMCE22.3.1上尚未完全就绪,而GithubActions默认情况下只有...
2023-05-18 11:47:05 762浏览 0点赞 0回复 0收藏
作者简介:ShardingSphereContributor,何其恒,自2021年开始为项目贡献小的改进。专注于添加现有模块对GraalVMNativeImage的第一方支持与ShardingSphere的分片算法类改进。目前,他正在为现有模块的依赖树处理所需的GraalVM可达性元数据,并完成项目对GraalVMNativeBuildTools的集成。前言笔者以MakeShardingSphereProxyinGraalVMNativeImageformavailable[1]的主要推动者的上下文身份,旨在通过本文,介绍GraalVMNativeImage...
2023-05-18 11:46:13 716浏览 0点赞 0回复 0收藏
元数据介绍ApacheShardingSphere的元数据主要包括规则、数据源、表结构等信息。规则信息包含分片、加密、读写分离、事务、高可用等。数据源信息存储的是需要通过ShardingSphere来进行管理的底层数据库资源。表结构信息为底层数据源的表结构,包括表的column信息、索引信息等。ApacheShardingSphere通过这些元数据信息配合治理中心的能力,例如zookeeper、etcd的存储和通知能力,可以实现集群内配置的共享和变更,从而实现计算...
2023-05-18 11:45:31 536浏览 0点赞 0回复 0收藏
背景DistSQL(DistributedSQL)是ApacheShardingSphere特有的操作语言,它让用户可以像操作数据库一样操作ShardingSphere,带来了方便又强大的动态管理能力。有了DistSQL[1]之后,我们能够在线定义各种资源和规则,再也不必面对「修改YAML文件+重启系统」的压力了。Q&A随着DistSQL能力的增强,用户使用越来越多,也提出了一些关于DistSQL的疑问。其中一部分与今天的主题有关,归纳如下:🔍DistSQL定义的规则保存在哪里?✍️Dis...
2023-05-18 11:42:47 476浏览 0点赞 0回复 0收藏
ShardingSphereProxy数据库协议交互解读数据库协议对于大部分开发者来说算是比较冷门的知识,一般的用户、开发者都是通过现成的数据库客户端、驱动使用数据库,不会直接操作数据库协议。不过,对数据库协议的特点与流程有一些基本的了解,有助于开发者在排查数据库功能、性能问题的过程中提供一些发现问题的思路。本文将简要介绍常用的MySQL、PostgreSQL等开源数据库协议的特点,并大致解读ShardingSphereProxy与客户端在数据库...
2023-05-16 12:03:07 356浏览 0点赞 0回复 0收藏
背景随着《网络安全法》的颁布施行,对个人隐私数据的保护已经上升到法律层面。传统的应用系统普遍缺少对个人隐私数据的保护措施。数据脱敏,可以实现在不需要对生产数据库中的数据进行任何改变的情况下,依据用户的角色、职责和其他定义规则,对生产数据库返回的数据进行专门的屏蔽、加密、隐藏和审计,确保业务用户、外包用户、运维人员、兼职雇员、合作伙伴、数据分析师、研发、测试和顾问,都能够恰如其分地访问生产环境的...
2023-05-16 12:02:04 328浏览 0点赞 0回复 0收藏
版本:v3.2Releasearcarc(x:number,y:number,radius:number,startAngle:number,endAngle:number,counterclockwise:boolean):void绘制弧线路径。参数:参数类型必填默认值描述xnumber是0弧线圆心的x坐标值。ynumber是0弧线圆心的y坐标值。radiusnumber是0弧线的圆半径。startAnglenumber是0弧线的起始弧度。endAnglenumber是0弧线的终止弧度。counterclockwiseboolean否false是否逆时针绘制圆弧。示例:xxx.etsEntryComponentstr...
2023-04-18 16:42:05 550浏览 0点赞 0回复 0收藏
版本:v3.2ReleaseclosePathclosePath():void结束当前路径形成一个封闭路径。示例:xxx.etsEntryComponentstructClosePath{privatesettings:RenderingContextSettingsnewRenderingContextSettings(true)privatecontext:CanvasRenderingContext2DnewCanvasRenderingContext2D(this.settings)build(){Flex({direction:FlexDirection.Column,alignItems:ItemAlign.Center,justifyContent:FlexAlign.Center}){Canvas(this.context)....
2023-04-18 16:41:13 419浏览 0点赞 0回复 0收藏
版本:v3.2Release枚举说明Color从APIversion9开始,该接口支持在ArkTS卡片中使用。颜色名称颜色值颜色示意Black0x000000Blue0x0000ffBrown0xa52a2aGray0x808080Grey0x808080Green0x008000Orange0xffa500Pink0xffc0cbRed0xff0000White0xffffffYellow0xffff00Transparent9+rgba(0,0,0,0)透明色ImageFit从APIversion9开始,该接口支持在ArkTS卡片中使用。名称描述Contain保持宽高比进行缩小或者放大,使得图片完全显示在显示边界...
2023-04-17 18:39:59 474浏览 0点赞 0回复 0收藏
版本:v3.2Release状态管理模块提供了应用程序的数据存储能力、持久化数据管理能力、UIAbility数据存储能力和应用程序需要的环境状态。说明:本模块首批接口从APIversion7开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。本文中T和S的含义如下:类型描述TClass,number,boolean,string和这些类型的数组形式。Snumber,boolean,string。AppStorageLinkstaticLink(propName:string):any与AppStorage中对应的...
2023-04-17 18:39:38 572浏览 0点赞 0回复 0收藏
版本:v3.2Release自定义组件的生命周期自定义组件的生命周期回调函数用于通知用户该自定义组件的生命周期,这些回调函数是私有的,在运行时由开发框架在特定的时间进行调用,不能从应用程序中手动调用这些回调函数。说明:允许在生命周期函数中使用Promise和异步回调函数,比如网络资源获取,定时器设置等;aboutToAppearaboutToAppear():voidaboutToAppear函数在创建自定义组件的新实例后,在执行其build()函数之前执行。允许...
2023-04-17 18:39:12 579浏览 0点赞 0回复 0收藏
版本:v3.2Release警告弹窗显示警告弹窗组件,可设置文本内容与响应回调。说明:从APIVersion7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。属性名称参数类型参数描述showAlertDialogParamWithConfirmAlertDialogParamWithButtons定义并显示AlertDialog组件。AlertDialogParamWithConfirm对象说明参数名参数类型必填参数描述titleResourceStr否弹窗标题。messageReso...
2023-04-17 18:38:51 537浏览 0点赞 0回复 0收藏
版本:v3.2Release属性动画组件的某些通用属性变化时,可以通过属性动画实现渐变过渡效果,提升用户体验。支持的属性包括width、height、backgroundColor、opacity、scale、rotate、translate等。说明:从APIVersion7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。animation(value:{duration:number,tempo:number,curve:stringCurveICurve,delay:number,iterations:number,playMode:PlayMode,onFinis...
2023-04-17 18:38:21 677浏览 0点赞 0回复 0收藏
版本:v3.2Release使用OffscreenCanvasRenderingContext2D在Canvas上进行离屏绘制,绘制对象可以是矩形、文本、图片等。离屏绘制是指将需要绘制的内容先绘制在缓存区,然后将其转换成图片,一次性绘制到canvas上,加快了绘制速度。说明:从APIVersion8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。接口OffscreenCanvasRenderingContext2D(width:number,height:number,setting:RenderingContextSetti...
2023-04-17 18:37:11 523浏览 0点赞 0回复 0收藏
版本:v3.2Release使用RenderingContext在Canvas组件上进行绘制,绘制对象可以是矩形、文本、图片等。说明:从APIVersion8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。接口CanvasRenderingContext2D(setting:RenderingContextSetting)参数:参数名参数类型必填参数描述settingRenderingContextSettings是见RenderingContextSettings。RenderingContextSettingsRenderingContextSet...
2023-04-17 18:35:33 374浏览 0点赞 0回复 0收藏