当前位置: 首页 > news >正文

广州做网站优化费用网站建设和制作

广州做网站优化费用,网站建设和制作,做名片网站,天成信息网站建设自助建站平台背景 在分布式系统架构中#xff0c;业务的流量都是端到端的。每个请求都会经过很多层处理#xff0c;比如从入口网关再到 Web Server 再到服务之间的调用#xff0c;再到服务访问缓存或 DB 等存储。 对于我们的系统来说#xff0c;数据库是非常重要的一块。因此无论是在稳…背景 在分布式系统架构中业务的流量都是端到端的。每个请求都会经过很多层处理比如从入口网关再到 Web Server 再到服务之间的调用再到服务访问缓存或 DB 等存储。 对于我们的系统来说数据库是非常重要的一块。因此无论是在稳定性的治理上还是在开发提效等场景下数据库相关的治理能力都是我们系统所需具备的能力。下面总结了微服务访问数据库层时在数据库治理中的常见的一些场景与能力。 OpenSergo 领域中关于数据库治理的概览 本文将介绍 MSE 服务治理最近推出数据库治理利器无侵入实现数据库访问的读写分离能力。 什么是读写分离 读写分离也就是将数据库拆分为主库和从库即主库负责处理事务性的增删改操作从库负责处理查询操作的数据库架构。 为什么要读写分离 稳定性 一个大客户的请求过来查询数据库返回上万条几百 M 的数据数据库的 CPU 直接打满。不知道大家是否遇到过类似的问题。 性能 在业务处理过程中如果对数据库的读操作远多于写操作同时业务上对于数据查询结果的实时性要求不高例如可以容忍秒级的延迟那么在做系统性能优化时就可以考虑引入读写分离的方案只读库可以承担主库的压力有效提升微服务应用的性能。 规模增长 随着业务增长到了一定规模之后再扩容但很多都卡在扩容这一步极大的限制了应对市场变化的速度其中数据库的扩容是最难的目前常见的数据库扩容方式有以下几种方式 垂直升级分库分表读写分离 垂直升级需要中断服务且高可用方面不及其它几种方式分库分表在分区键的选择上会是个难点SQL 使用上会有诸多限制同时对业务的改造也是非常大的工作量。相对来说读写分离是对业务的侵入最低也最容易实现扩容方案。根据经验大多数应用的读写比都在 5:1 以上有些场景甚至大量的高于 10:1在对数据库有少量写请求但有大量读请求的应用场景下单个实例可能无法承受读取压力甚至对业务产生影响。 综上所述数据库读写分离方案可以满足阿里云上大多数公司的稳定性治理、性能提升以及数据库扩容的需求。 读写分离常见方案 目前业界流行的读写分离方案通常都是基于上述主从模式的数据库架构。读写分离的实现方案多数是通过引入 odp、mycat 等数据访问代理产品通过其读写分离功能来帮助实现读写分离。引入数据访问代理的好处是源程序不需要做任何改动就可以实现读写分离坏处是由于多了一层中间件做中转代理性能上会有所下降数据访问代理也容易成为性能瓶颈。 ShardingSphere 读写分离方案[1]摘自 shardingsphere 官网 ShardingSphere[2] 的读写分离主要依赖内核的相关功能。包括解析引擎和路由引擎。解析引擎将用户的 SQL 转化为 ShardingSphere 可以识别的 Statement 信息路由引擎根据 SQL 的读写类型以及事务的状态来做 SQL 的路由。如下图所示ShardingSphere 识别到读操作和写操作分别会路由至不同的数据库实例。 MSE 数据库读写分离能力 MSE 提供了一种动态数据流量治理的方案您可以在不需要修改任何业务代码的情况下实现数据库的读写分离能力。下面介绍 MSE 基于 Mysql 数据存储通过的读写分离能力。 前提条件 应用接入 MSE部署 Demo 应用 在阿里云容器服务中部署 A、B、C 三个应用并且将应用均接入 MSE 服务治理[3]用于增加具备数据库治理能力的 Agent。 创建 RDS 只读实例[4] 我们需要创建 RDS 只读实例利用只读实例满足大量的数据库读取需求增加应用的吞吐量。 配置读写分离规则 我们需要配置以下环境变量来额外开启/配置数据库的读写分离能力我们可以通过控制台配置弱读请求的规则或者指定某些接口为弱读请求 apiVersion: database.opensergo.io/v1alpha1 kind: AccessControlRule metadata:name: read-only-control-rulelabels:app: foo spec:selector:app: footarget: - resource:path: /getLocationcontrolStrategies:weak: true 上述 OpenSergo 标准的规则表示 /getLocation 接口的请求为弱读请求。 我们针对一些大数据量查询、对延时不太敏感的业务请求可以配置为 weak 类型SQL 洞察 如上只需轻松的两步我们就实现了数据库的读写分离能力。基于数据库读写分离能力配合 MSE 数据库治理的 SQL 洞察我们可以快速定位 RT 过大的查询请求帮助我们进一步分析 SQL 对我们数据库稳定性的影响。 我可以观察应用和资源 API 维度的 SQL 请求实时数据细化至秒级同时 MSE 还提供了 SQL 的 topN 列表我们可以一眼看出 RT 高查询返回值数据量大的 SQL 语句。 总结 本文详细描述了 MSE 即将推出的数据库治理能力矩阵中关于动态读写分离能力的介绍。通过 MSE 提供的 SQL 洞察能力结合我们对业务的理解我们可以快速定位划分接口请求为弱请求。将对主库性能以及稳定性影响大的读操作分流至 RDS 只读库可以有效降低主库的读写压力进一步提升微服务应用的稳定性。 我们从应用的视角出发抽象了我们在访问以及使用数据库时的一些常见场景以及对应的治理能力整理了我们在稳定性治理、性能优化、提效等方面的实战经验。对于每一个后端应用来说数据库无疑是重中之重我们希望通过我们的数据库治理能力可以帮助到大家更好地使用数据库服务。 最后提一下服务治理的标准 OpenSergo QOpenSergo[5] 是什么 AOpenSergo 是一套开放、通用的、面向分布式服务架构、覆盖全链路异构化生态的服务治理标准基于业界服务治理场景与实践形成服务治理通用标准。OpenSergo 最大特点就是以统一一套配置/DSL/协议定义服务治理规则面向多语言异构化架构做到全链路生态覆盖。无论微服务的语言是 Java, Go, Node.js 或其它语言无论是标准微服务或 Mesh 接入从网关到微服务从数据库到缓存从服务注册发现到配置开发者都可以通过同一套 OpenSergo CRD 标准配置针对每一层进行统一的治理管控而无需关注各框架、语言的差异点降低异构化、全链路服务治理管控的复杂度参考链接 [1] ShardingSphere 读写分离方案 https://shardingsphere.apache.org/document/current/cn/features/readwrite-splitting/ [2] ShardingSphere https://shardingsphere.apache.org/document/current/en/overview/ [3] 接入 MSE 服务治理 https://help.aliyun.com/document_detail/425896.html [4] 创建 RDS 只读实例 https://help.aliyun.com/document_detail/26136.html [5] OpenSergo https://opensergo.io/zh-cn/ 作者十眠 原文链接 本文为阿里云原创内容未经允许不得转载
http://www.zqtcl.cn/news/823254/

相关文章:

  • 建设网站贵吗深圳网站建设推广论坛
  • 做网站需注意事项会员卡管理系统下载
  • 嘉兴高端网站建设公司电子信息工程能进国家电网吗
  • 建网站 广州网站改版 理论
  • 门户网站简称昆明本地网站
  • 网站定位的核心意义离婚协议书模板 完整版
  • 网站首页改版方案长图制作网站
  • 网站的栏目有什么名字保定网络公司网站
  • 南京建设机械网站建设银行网站解除绑定
  • 厚街公司网站建设wordpress发邮件更新
  • wap网站制作网络设计公司经营范围
  • 织梦网站被做跳转还被删除文件第三方电子商务平台有哪些
  • 财经网站源码 织梦游戏ui培训
  • 石家庄站布局图网站建设公司怎么
  • 电商网站建设选迅法网东莞系统网站建设
  • 网站栏目 英文wordpress 情侣
  • 济南市历下区建设局官方网站wordpress 作者页
  • 武进建设银行网站首页大型网站建设哪家快
  • 做网站用vs怎么自己写代码做网站
  • 网站建设产品需求文档技术培训学校机构
  • 简单个人网站源码石景山网站seo优化排名
  • 用花生做网站房地产电子商务的网站建设
  • 宁波网站建设团队sem竞价托管多少钱
  • 工艺品东莞网站建设营销助手app
  • 怎么添加网站 多少钱wordpress 在线教育模板
  • 做鞋的垂直网站小型购物网站模板
  • 石家庄公司网站建设网站建设技术难点
  • 阿里云能放企业网站吗建设网站的建设费用包括什么
  • 网站对公司的作用是什么初学者学做网站用什么软件
  • 网站的建设模式高校后勤网站建设要求