Architect架构
文章平均质量分 89
Moshow郑锴
Powered by Core iMoshow
展开
-
通过Redis实现的王者荣耀的段位排行榜
作为程序员的你,是否思考过这个段位排行榜是怎么实现的?在王者荣耀中,我们会打排位赛,而且大家最关注的往往都是你的段位,还有在好友中的排名。计数器是一种常见的功能,用于记录某种事件的发生次数。在应用中,计数器可以用来跟踪用户行为、统计点击次数、浏览次数等。原创 2024-04-14 23:27:04 · 997 阅读 · 0 评论 -
PCI-DSS安全认证?
PCI-DSS安全认证是,旨在保护持卡人数据的安全性。PCI-DSS(Payment Card Industry Data Security Standard)是由五大国际卡组织Visa、MasterCard、American Express、Discover Financial Services和JCB共同制定的。它为处理、存储或传输信用卡数据的企业和组织提供了一组详细的安全要求,以确保持卡人数据的安全。原创 2024-03-24 23:36:59 · 1164 阅读 · 0 评论 -
European Union‘s General Data Protection Regulation (GDPR) 对应用有什么影响
GDPR代表一般数据保护条例。该GDPR将于2018年5月25日开始强制执行。它旨在保护用户数据的存储和使用,并确保用户控制他们的数据,而不是公司负责用户数据。如果你在一些上司公司或者银行证券等机构,并且拥有过全球化数据,那么GDPR是一定要在架构设计阶段就充分考虑的。原创 2024-01-27 22:48:11 · 1214 阅读 · 0 评论 -
SpringBoot之优化高并发场景下的HttpClient并提升QPS
假设有一个http的服务,日调用量在千万级别。使用了httpclient来完成业务,但qps上不去,性能不佳,需要优化。连接池/长连接/httpclient和httpget复用/合理的配置参数(最大并发请求数,各种超时时间,重试次数)/异步原创 2024-01-13 23:01:20 · 1707 阅读 · 0 评论 -
如何实现接口重试
在复杂的接口业务中,API请求数量很多,并且业务处理复杂,便难免会遇到一些网络问题(timeout)或者未知错误(error),这时候需要加入重试机制了。让我们来回顾一下都有什么实现机制吧。包含循环重试/递归重试/Spring Retry(Retry Template)......等8种重试机制。。。当然在请求重试的时候,我们也要注意一些关键点,以免因为重试,引发更多的问题:原创 2024-01-13 22:42:44 · 1320 阅读 · 0 评论 -
哈希一致性算法
一致性哈希是指将「存储节点」和「数据」都映射到一个首尾相连的哈希环上,如果增加或者移除一个节点,仅影响该节点在哈希环上顺时针相邻的后继节点,其它数据也不会受到影响。但是一致性哈希算法不能够均匀的分布节点,会出现大量请求都集中在一个节点的情况,在这种情况下进行容灾与扩容时,容易出现雪崩的连锁反应。为了解决一致性哈希算法不能够均匀的分布节点的问题,就需要引入虚拟节点,对一个真实节点做多个副本。不再将真实节点映射到哈希环上,而是将虚拟节点映射到哈希环上,并将虚拟节点映射到实际节点。。。。。。原创 2024-01-06 19:51:32 · 1596 阅读 · 0 评论 -
如何实现订单自动取消
如果现在让你设计一下一个订单取消的业务,实现的方法有什么呢?DelayQueue、Timer、ScheduledThreadPoolExecutor、RocketMQ、RabbitMQ、监听Redis过期key、Redisson的RDelayedQueue、Netty的HashedWheelTimer、Hutool的SystemTimer、Qurtaz、无限轮询延迟任务原创 2023-12-16 22:52:24 · 329 阅读 · 0 评论 -
APP埋点:页面统计与事件统计
自定义事件,即记录用户的操作行为(如点击行为),记录用户操作行为中的具体细节;一般来说,通常所说的埋点,指的就是自定义事件。埋点可以是某个按钮,某个点击区域,某个提示,甚至可以用来统计一些特定的代码是否被执行。在APP中,需要在代码中定义一个事件行为。2.1简单事件统计简单事件统计,即记录事件的发生次数(可理解为PV)和事件发生人数(可理解为UV)。原创 2023-11-06 23:41:30 · 1467 阅读 · 0 评论 -
google bigquery optimization
BigQuery is a petabyte-scale analytics DB utilizing parallel processing to achieve fast processing of massive datasets. To optimize your workloads on BigQuery, you can:Optimize your storage by:Partitioning your tablesClustering your tablesPre-aggrega原创 2023-10-31 00:21:45 · 232 阅读 · 0 评论 -
Use PlantUML to write the Sequence Diagram
Use PlantUML to write the Sequence Diagram。原创 2023-09-06 00:31:36 · 568 阅读 · 0 评论 -
Use PlantUML to display JSON Data
JSON format is widely used in software.You can use PlantUML to visualize your data.To activate this feature, the diagram must: Complex exampleYou can use complex JSON structure. Highlight Using different styles for highlightIt is possible to原创 2023-09-04 23:19:38 · 648 阅读 · 0 评论 -
Google Cloud Architech flowchart (help you better choose cloud product)
some google cloud architech flowchart help you better understand and help you better chosse the product原创 2023-09-03 18:45:44 · 284 阅读 · 0 评论 -
架构设计之考虑高并发场景优化的衡量指标
举个简单的例子:比如:我们向一个网站发送了5次请求,每次请求所耗费的时间分别为:1ms,2ms,1ms,3ms,2ms,那么,平均响应时间就是(1+2+1+3+2)/ 5 = 1.8ms,所以,平均响应时间就是1.8ms。举一个具体点的例子:比如我们的程序中存在一些数据库或者缓存的批量操作,虽然在数据的读取上,响应速度下降了,但是我们优化的目标就是吞吐量,只要我们优化后系统的整体吞吐量明显上升了,那这也是提升了程序的性能。并发量指的是系统能够同时处理的请求数量,反映的是系统的负载能力。原创 2023-08-21 00:38:43 · 177 阅读 · 0 评论 -
WAF/Web应用安全(拦截恶意非法请求)
Web 应用防火墙(Web Application Firewall, WAF)通过对 HTTP(S) 请求进行检测,识别并阻断 SQL 注入、跨站脚本攻击、跨站请求伪造等攻击,保护 Web 服务安全稳定。Web 安全是所有互联网应用必须具备的功能,没有安全防护的应用犹如怀揣珠宝的儿童独自行走在盗贼环伺的黑夜里。我们准备开发一个 Web 应用防火墙,该防火墙可作为 Web 插件,部署在 Web 应用或者微服务网关等 HTTP 服务的入口,拦截恶意请求,保护系统安全。原创 2023-07-21 17:27:53 · 1684 阅读 · 0 评论 -
MySQL HA:如何将“删库跑路”的损失降到最低
今天主要讲了两件事儿,一是如何备份和恢复数据库中的数据,确保数据安全;二是如何来实现数据库的高可用,避免宕机停服。虽然这是两个不同的问题,但你要知道,解决这两个问题背后的实现原理是一样的。高可用依赖的是数据复制,数据复制的本质就是从一个库备份数据,然后恢复到另外一个库中去。数据备份时,使用低频度的全量备份配合 Binlog 增量备份是一种常用而且非常实用的方法,使用这种备份方法,我们可以把数据库的数据精确地恢复到历史上任意一个时刻,不仅能解决数据损坏的问题,也不用怕误操作、删库跑路这些事儿了。原创 2023-07-21 14:07:40 · 122 阅读 · 0 评论 -
数组:为什么数组都从0开始编号?
提到数组,我想你肯定不陌生,甚至还会自信地说,它很简单啊。是的,在每一种编程语言中,基本都会有数组这种数据类型。不过,它不仅仅是一种编程语言中的数据类型,还是一种最基础的数据结构。尽管数组看起来非常基础、简单,但是我估计很多人都并没有理解这个基础数据结构的精髓。在大部分编程语言中,数组都是从 0 开始编号的,但你是否下意识地想过,为什么数组要从 0 开始编号,而不是从 1 开始呢?从 1 开始不是更符合人类的思维习惯吗?原创 2023-06-14 23:45:42 · 1342 阅读 · 0 评论 -
高并发架构设计方法
我们知道,“高并发”是现在系统架构设计的核心关键词。一个架构师如果设计、开发的系统不支持高并发,那简直不好意思跟同行讨论。但事实上,在架构设计领域,高并发的历史非常短暂,这一架构特性是随着互联网,特别是移动互联网的发展才逐渐变得重要起来的。现在有很多大型互联网应用系统,其用户是面向全球的普通大众,用户体量动辄十几亿。这些用户即使只有万分之一同时访问系统,也会产生十几万的并发访问量。因此,高并发是现在的大型互联网系统必须面对的挑战,当同时访问系统的用户不断增加时,要消耗的系统计算资源也不断增加。原创 2023-06-14 23:42:26 · 1027 阅读 · 0 评论 -
架构师怎样绘制系统架构蓝图?
首先,请你设想这样一个场景:如果公司安排你做架构师,要你在项目开发前期进行软件架构设计,你该如何开展你的工作?如何输出你的工作成果?如何确定你的设计是否满足用户需求?你是否有把握最后交付的软件是满足要求的?是否有把握让团队每个工程师清楚自己的职责范围并有效地完成开发工作……这些问题其实都是软件开发管理与技术架构的核心诉求,而架构师的核心工作就是做好软件设计,解决这些诉求。这些问题搞定了,软件的开发过程和结果也就都得到了保证。那怎么实现这些诉求呢?原创 2023-06-14 23:40:02 · 1573 阅读 · 0 评论 -
秒杀系统设计
秒杀是电子商务应用常见的一种营销手段:将少量商品(常常只有一件)以极低的价格,在特定的时间点出售。比如,周日晚上 8 点整,开售 1 部 1 元钱的手机。因为商品价格诱人,而且数量有限,所以用户趋之若鹜,在秒杀活动开始前涌入系统, 等到秒杀活动开始的一瞬间,点下购买按钮(在此之前购买按钮为灰色,不可以点击),抢购商品。秒杀虽然对应用推广有很多好处,但是对系统技术却是极大的挑战:系统是为正常运营设计的,而秒杀活动带来的并发访问用户却是平时的数百倍甚至上千倍。原创 2023-06-14 23:39:28 · 146 阅读 · 0 评论 -
分布式ID解决方案
常用的分布式 ID 的设计方案有哪些?Snowflake 是否受冬令时切换影响?原创 2023-06-14 23:36:02 · 601 阅读 · 0 评论 -
架构设计之分析系统性能问题
我们再重新回顾下这几个指标的定义。另一方面,消息队列写数据库的时候,可以根据数据库的负载能力控制写入的速度,即使用户请求并发很高,也不会导致数据库崩溃,消息队列可以使系统运行在一个性能最优的负载压力范围内。它的主要工作原理是用户的请求到达负载均衡服务器后,负载均衡服务器会对网络层数据包的 IP 地址进行转换,将其修改为应用服务器的 IP 地址,然后把数据包重新发送出去,请求数据就会到达应用服务器。这个过程中,随着并发数的增加,吞吐量只有小幅的增加,达到最大值后,吞吐量还会下降,而响应时间则会不断增加。原创 2023-06-14 23:28:40 · 578 阅读 · 0 评论 -
阿里云ACE简答题(收藏版)
由于之前考试码过期,所以没有能考试成功,但是这里奉上简答题,供大家参考和学习,除了考试之外,也对云架构的方面有所帮助。 整理https://zhengkai.blog.csdn.net/ 1. 某企业的DNS服务器计划迁移到阿里云上,做域名的权威解析,想使用阿里云的SLB作负载均衡保证高可用,需要SLB同时代理UDP和TCP的53端口,但是SLB目前不支持同时代理两种协议,请使用阿里云的云服务设计一套解决方案解决这个问题。。。。。。原创 2023-06-14 00:04:03 · 691 阅读 · 0 评论 -
什么是Lift and Shift(直接迁移/提升和转移/直接上云)?
>在决定将应用迁移到公有云之前,必须确定迁移方法。常见的两个迁移选项是 lift-and-shift (直接迁移) 和re-architect(重新架构)。>根据Pluralsight最近的云状态报告,`75%`的IT公司正在构建网络新应用程序和云创新 —— 也就是re-architect(重新架构)。这意味着`25%`的应用程序需要用“提升和转移”(lift-and-shift)策略进行迁移。>对于希望加速从本地计算资源到云环境过渡的组织来说,Lift and Shift直接迁移是理想的。升班迁移原创 2023-01-27 23:05:44 · 1892 阅读 · 0 评论