短链系统设计性能优化-分片策略优化
2023-09-27 14:19:47 时间
4.5 基于 base62 的分片策略
Hash(long_url)%62作为分片键
并将 hash(long_url)%62直接放到 short url
若原来的 short key 是 AB1234,则现在的 short key 是
- hash(long_url) % 62 + AB1234
- 若 hash(long_url)%62=0,那就是0AB1234
这样,就能同时通过 short、long 得到分片键。
缺点:DB 的机器数目不能超过 62。
所以,最后最佳架构:
4.6 还能优化吗?
web server 和 database 之间的通信。
中心化的服务器集群和跨地域的 web server 之间通信较慢:如中国的 Server 需访问美国的 DB。
为何不让中国的 Server 访问中国的 DB 呢?
若数据重复写到中国 DB,如何解决一致性问题?很难解决!
思考用户的习惯:
- 中国用户访问时,会被 DNS 分配中国的服务器
- 中国用户访问的网站一般都是中国的网站
- 所以可按网站的地域信息来 sharding
- 如何获得网站的地域信息?只需将用户常访问的网站汇总在一张表。
- 中国用户访问美国网站咋办?
- 就中国 server 访问美国 db,也不会慢太多
- 中访中是用户主流,优化系统就是针对主要需求
于是,得到最终架构:
还可以维护一份域名白名单,访问对应地域的 DB。
相关文章
- 银行人总结5个影响系统性能的因素,怕是很多人都会忽略
- 软件测试之性能测试有哪些指标测试
- 相约八点,UWA六月直播第三弹-Unity中动画系统的性能优化方案
- requirejs:性能优化-及早并行加载
- 使用 BenchmarkDotnet 测试代码性能 【Win10】单元测试中捕获异步方法的指定异常
- OFDM通信系统与QPSK系统性能比较
- 第三十三章 使用 ^PERFMON 监控系统性能
- 面试必知的9个性能测试指标,你完全了解吗?
- 开放网络操作系统 ONOS Blackbird性能评估
- [转]响应式WEB设计学习(3)—如何改善移动设备网页的性能
- Linux运维之系统性能瓶颈工具vmstat分析
- iOS 应用性能测试的相关方法、工具及技巧
- 《LoadRunner性能测试巧匠训练营》—— 导读
- MMS性能测试系统及测试方法
- 思科HyperFlex性能为第一代行业解决方案的三倍
- 浏览器工作原理:浅析浏览器中的页面 - 页面性能 - 如何系统的优化页面
- 见微知著:一条 SQL 性能问题引发的核心系统悲剧
- Zookeeper读写性能测试
- 优化Linux下的内核TCP参数以提高系统性能
- 关于系统性能测试的步骤总结和分析
- 使用JMeter对SOAP应用进行压力或性能测试
- 银行系统性能测试策略探讨
- 用python做自己主动化測试--绘制系统性能趋势图和科学计算
- 应用系统性能优化分析原则
- 系统性能评价