分布式
文章平均质量分 94
无心六神通
金融科技系统架构师
展开
-
8核16G的CentOS服务器,Spring boot undertow如何优化参数提高并发,电商项目
对于运行在8核16GB内存的CentOS。原创 2024-06-11 19:41:17 · 466 阅读 · 0 评论 -
解密秒杀系统架构,不是所有的系统都能做秒杀!
所以,很多所谓的秒杀系统,存在着秒杀的业务,但是称不上真正的秒杀系统,原因就在于他们使用的是同步的下单流程,限制了系统的并发流量。之所以上线后没出现太大的问题,是因为系统的并发量不高,不足以压死整个系统。原创 2024-05-19 19:48:30 · 1138 阅读 · 2 评论 -
微服务平台
微服务平台(Tencent Service Framework,TSF)是一个围绕着应用和微服务的 PaaS 平台,提供应用全生命周期管理、数据化运营、立体化监控和服务治理等功能。微服务平台拥抱 Spring Cloud 、Service Mesh 微服务框架,帮助企业客户解决传统集中式架构转型的困难,打造大规模高可用的分布式系统架构,实现业务、产品的快速落地。针对原生 Spring Cloud 应用与 Mesh 方式零成本接入。微服务平台以腾讯云中间件。原创 2024-05-15 16:51:53 · 872 阅读 · 0 评论 -
ZooKeeper 实战
这篇文章简单给演示一下 ZooKeeper 常见命令的使用以及 ZooKeeper Java客户端 Curator 的基本使用。介绍到的内容都是最基本的操作,能满足日常工作的基本需要。如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步!原创 2024-02-12 08:31:54 · 925 阅读 · 0 评论 -
ZooKeeper 相关概念总结(进阶)
ZooKeeper由Yahoo开发,后来捐赠给了Apache,现已成为Apache顶级项目。ZooKeeper是一个开源的分布式应用程序协调服务器,其为分布式系统提供一致性服务。其一致性是通过基于Paxos算法的ZAB协议完成的。其主要功能包括:配置维护、分布式同步、集群管理、分布式事务等。简单来说,ZooKeeper是一个分布式协调服务框架。分布式?协调服务?这啥玩意?🤔🤔其实解释到分布式这个概念的时候,我发现有些同学并不是能把分布式和集群这两个概念很好的理解透。原创 2024-02-12 08:30:10 · 936 阅读 · 0 评论 -
ZooKeeper-相关概念总结-(入门)
相信大家对 ZooKeeper 应该不算陌生。但是你真的了解 ZooKeeper 到底有啥用不?如果别人/面试官让你给他讲讲对于 ZooKeeper 的认识,你能回答到什么地步呢?拿我自己来说吧!我本人曾经使用 Dubbo 来做分布式项目的时候,使用了 ZooKeeper 作为注册中心。为了保证分布式系统能够同步访问某个资源,我还使用 ZooKeeper 做过分布式锁。另外,我在学习 Kafka 的时候,知道 Kafka 很多功能的实现依赖了 ZooKeeper。原创 2024-02-12 08:29:12 · 733 阅读 · 0 评论 -
Dubbo-常见面试题-总结
ˈdʌbəʊ| 是一款高性能、轻量级的开源 Java RPC 框架。根据Dubbo 官方文档open in new window的介绍,Dubbo 提供了六大核心能力面向接口代理的高性能RPC调用。智能容错和负载均衡。服务自动注册和发现。高度可扩展能力。运行期流量调度。可视化的服务治理与运维。简单来说就是:Dubbo 不光可以帮助我们调用远程服务,还提供了一些其他开箱即用的功能比如智能负载均衡。Dubbo 目前已经有接近 34.4 k 的 Star。在。原创 2024-02-12 08:27:29 · 860 阅读 · 0 评论 -
RPC-基础常见-面试题-总结
gRPC 和 Thrift 虽然支持跨语言的 RPC 调用,但是它们只提供了最基本的 RPC 框架功能,缺乏一系列配套的服务化组件和服务治理功能的支撑。Dubbo 不论是从功能完善程度、生态系统还是社区活跃度来说都是最优秀的。而且,Dubbo在国内有很多成功的案例比如当当网、滴滴等等,是一款经得起生产考验的成熟稳定的 RPC 框架。最重要的是你还能找到非常多的 Dubbo 参考资料,学习成本相对也较低。下图展示了 Dubbo 的生态系统。原创 2024-02-12 08:26:22 · 1072 阅读 · 0 评论 -
分布式-配置中心-详解
(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于 Spring Boot 和 Spring Cloud 开发,打包后可以直接运行,不需要额外安装 Tomcat 等应用容器。Java 客户端不依赖任何框架,能够运行于所有 Java 运行时环境,同时对 Spring/Spring Boot 环境也有较好的支持。配置修改实时生效(热发布)原创 2024-02-12 08:25:30 · 998 阅读 · 0 评论 -
分布式锁详解
对于单机多线程来说,在 Java 中,我们通常使用类、关键字这类 JDK 自带的本地锁来控制一个 JVM 进程内的多个线程对本地共享资源的访问。下面是我对本地锁画的一张示意图。从图中可以看出,这些线程访问共享资源是互斥的,同一时刻只有一个线程可以获取到本地锁访问共享资源。分布式系统下,不同的服务/客户端通常运行在独立的 JVM 进程上。如果多个 JVM 进程共享同一份资源的话,使用本地锁就没办法实现资源的互斥访问了。于是,分布式锁就诞生了。举个例子:系统的订单服务一共部署了 3 份,都对外提供服务。原创 2024-02-12 08:24:20 · 871 阅读 · 0 评论 -
分布式 ID 详解
日常开发中,我们需要对系统中的各种数据使用 ID 唯一表示,比如用户 ID 对应且仅对应一个人,商品 ID 对应且仅对应一件商品,订单 ID 对应且仅对应一个订单。我们现实生活中也有各种 ID,比如身份证 ID 对应且仅对应一个人、地址 ID 对应且仅对应简单来说,ID 就是数据的唯一标识。分布式 ID 是分布式系统下的 ID。分布式 ID 不存在与现实生活中,属于计算机系统中的一个概念。我简单举一个分库分表的例子。我司的一个项目,使用的是单机 MySQL。原创 2024-02-12 08:21:01 · 928 阅读 · 0 评论 -
API 网关详解
微服务背景下,一个系统被拆分为多个服务,但是像安全认证,流量控制,日志,监控等功能是每个服务都需要的,没有网关的话,我们就需要在每个服务中单独实现,这使得我们做了很多重复的事情并且没有一个全局的视图来统一管理这些功能。一般情况下,网关可以为我们提供请求转发、安全认证(身份/权限认证)、流量控制、负载均衡、降级熔断、日志、监控、参数校验、协议转换等功能。请求转发请求过滤。由于引入网关之后,会多一步网络转发,因此性能会有一点影响(几乎可以忽略不计,尤其是内网访问的情况下)。原创 2024-02-12 08:20:06 · 1157 阅读 · 0 评论 -
分布式共识 - Raft 算法
共识是可容错系统中的一个基本问题:即使面对故障,服务器也可以在共享状态上达成一致。共识算法允许一组节点像一个整体一样一起工作,即使其中的一些节点出现故障也能够继续工作下去,其正确性主要是源于复制状态机的性质:一组Server的状态机计算相同状态的副本,即使有一部分的Server宕机了它们仍然能够继续运行。原创 2024-02-12 08:18:41 · 1357 阅读 · 1 评论 -
Paxos 算法
Paxos 算法是第一个被证明完备的分布式系统共识算法。共识算法的作用是让分布式系统中的多个节点之间对某个提案(Proposal)达成一致的看法。提案的含义在分布式系统中十分宽泛,像哪一个节点是 Leader 节点、多个事件发生的顺序等等都可以是一个提案。Basic Paxos 算法: 描述的是多节点之间如何就某个值(提案 Value)达成共识。Multi-Paxos 思想: 描述的是执行多个 Basic Paxos 实例,就一系列值达成共识。原创 2024-02-12 08:16:44 · 816 阅读 · 0 评论 -
CAP & BASE理论
CAP也就是Consistency(一致性)Availability(可用性)Partition Tolerance(分区容错性)这三个单词首字母组合。CAP 理论的提出者布鲁尔在提出 CAP 猜想的时候,并没有详细定义三个单词的明确定义。因此,对于 CAP 的民间解读有很多,一般比较被大家推荐的是下面 👇 这种版本的解读。一致性(Consistency): 所有节点访问同一份最新的数据副本可用性(Availability): 非故障的节点在合理的时间内返回合理的响应(不是错误或者超时的响应)。原创 2024-02-12 08:14:26 · 824 阅读 · 0 评论 -
分布式-ID-Leaf-美团技术团队
到目前为止业界一共有5种方式生成UUID,详情见IETF发布的UUID规范。性能非常高:本地生成,没有网络消耗。不易于存储:UUID太长,16字节128位,通常以36长度的字符串表示,很多场景不适用。信息不安全:基于MAC地址生成UUID的算法可能会造成MAC地址泄露,这个漏洞曾被用于寻找梅丽莎病毒的制作者位置。ID作为主键时在特定的环境会存在一些问题,比如做DB主键的场景下,UUID就非常不适用:① MySQL官方有明确的建议主键要尽量越短越好[4],36个字符长度的UUID不符合要求。原创 2024-01-20 07:00:07 · 891 阅读 · 0 评论