刷新
如何利用容器与中间件实现微服务架构下的高可用性和弹性扩展

博主头像 在当今的互联网时代,微服务架构已经成为许多企业选择的架构模式,它能够提高系统的灵活性、可维护性和可扩展性。然而,微服务架构下的高可用性和弹性扩展是一个复杂的挑战。本文将介绍如何利用容器与中间件来实现微服务架构下的高可用性和弹性扩展的解决方案。 ...

Kafka 社区KIP-405中文译文(分层存储)

原文链接:https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage 译者:Kafka KIP-405是一篇非常优秀的多层存储的设计稿,不过此设计稿涉及内容很多,文章量大、严谨、知识点诸多。我们国 ...

系统架构设计师-第0章-学习路线

博主头像 架构设计师是系统开发的主体角色,他们通过执行一系列活动来实施架构设计。架构设计通过生成过程形成最终的产品架构,架构设计师的成果是创建架构。从图1可以看出,系统开发中架构设计师是整个系统的核心. ...

C-Shopping基于Next.js,开源电商平台全新亮相

博主头像 嗨,大家好!欢迎来到C-Shopping,这是一场揭开科技面纱的电商之旅。我是C-Shopping开源作者“继小鹏”,今天将为你介绍一款基于最新技术的开源电商平台。让我们一同探索吧! 点击 这里,http://shop.huanghanlian.com/,即刻踏上C-Shopping 体验之旅! 项 ...

如何设计一个高并发系统?

博主头像 所谓高并发系统,是指能同时处理大量并发请求,并及时响应,从而保证系统的高性能和高可用 那么我们在设计一个高并发系统时,应该考虑哪些方面呢? 1. 搭建集群 如果你只部署一个应用,只部署一台服务器,那抗住的流量请求是非常有限的。并且,单体的应用,有单点的风险,如果它挂了,那服务就不可用了 因此,设计一 ...

业务单系统架构设计心得(一)

博主头像 阅读说明: 如果有排版格式问题,请移步 [《业务单系统架构设计心得(一)》](https://www.yuque.com/mrhuang-ire4d/oufb8x/ilud3u0w74sthfpo?singleDoc# 《业务单系统架构设计心得(一)》),选择宽屏模式效果更佳。 本文为原创文章,转发 ...

PowerDotNet平台化软件架构设计与实现系列(17):PCRM个人用户管理平台

博主头像 个人用户管理是业务系统中非常基础且重要的一个公共服务系统,我们写的绝大多数应用都和个人用户或会员有关,用户(会员)数据安全无小事,必须有一个完备的用户管理平台系统。 因为不同公司的主业务不同,个人用户管理的侧重点也会有不同,PowerDotNet这里介绍的个人用户管理平台,只是个人用户管理系统中很基 ...

ERD助力研发资产沉淀&研发提效

博主头像 一、从痛点中思考答案 痛点一:复杂系统的设计和逻辑碎片化散落,缺少沉淀导致系统后期维护、迭代以及架构升级都非常困难。 痛点二:由于新需求或新项目导致的系统的老旧逻辑梳理往往耗费大量人力,甚至造成人才的流失。 痛点三:多团队共建场景下需要参与各方了解跨应用系统的整体设计,沟通效率低成本高、共建初期花费 ...

系统存储架构升级分享

博主头像 一、业务背景 系统业务功能:系统内部进行数据处理及整合, 对外部系统提供结果数据的初始化(写)及查询数据结果服务。 系统网络架构: 部署架构对切量上线的影响 - 内部管理系统上线对其他系统的读业务无影响 分布式缓存可进行单独扩容, 与存储及查询功能升级无关 通过缓存层的隔离, 系统扩展期间外部系统可 ...

布隆过滤器及其应用

博主头像 什么是布隆过滤器? 布隆过滤器是一种数据结构,具有快速插入和查找的特性,能确定某个字符串一定存在或者可能存在。布隆过滤器有着高效的空间利用率,它不存储具体数据,只存储数据的关键标识,所以占用的空间较小。它的查询结果可能会存在一定误差,但是误差总体可控,同时不支持删除操作。布隆过滤器的应用场景丰富,在 ...

深入理解经典红黑树 | 京东物流技术团队

博主头像 本篇我们讲红黑树的经典实现,Java中对红黑树的实现便采用的是经典红黑树。前一篇文章我们介绍过左倾红黑树,它相对来说比较简单,需要大家看完上篇再来看这一篇,因为旋转等基础知识不会再本篇文章中赘述。本篇的大部分内容参考 《算法导论》和 Java 实现红黑树的源码,希望大家能够有耐心的看完。 在正文开始 ...

8000字,程序性能优化的全能手册

博主头像 本文聊一个程序员都会关注的问题:性能。当大家谈到“性能”时,你首先想到的会是什么?性能优化是一个复杂且多面的话题,涉及到代码的编写、系统的架构以及硬件的选择与配置。在追求性能的旅途中,我们需要掌握的知识有很多,既有软件方面的,也有硬件方面的,很多东西我也没有展开详细讲,只是给大家提供了一个引子,遇到... ...

Kafka干货之「零拷贝」

一、背景 周所周知,Kafka是一个非常成熟的消息产品,开源社区也已经经历了多年的不断迭代,特性列表更是能装下好几马车,比如:幂等消息、事务支持、多副本高可用、ACL、Auto Rebalance、HW、Leader Epoch、Time Index、Producer Snapshot、Stream ...

区别对比 Python、Perl、VB、Ruby、C/C++、C# .Net、PHP、Java… 等多编程语言

博主头像 1. 编程语言类型:首先,Python、C/C++、Java 都是强类型的编程语言。强类型的编程语言定义如下: 强类型的编程语言是一种强制类型定义的编程语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就是该数据类型。而弱类型的编程语言是一种弱类型定义的编程语言,某一个变量被定义类型,该 ...

微服务开发,这10个点你要知道

博主头像 微服务架构是一种软件开发模式,它将一个复杂的应用程序拆分为多个个独立的、小型的、可复用的服务,每个服务负责一个特定的业务功能。 微服务架构有许多优点,例如提高系统的可扩展性、可维护性、可测试性和故障容忍性。 但是,微服务架构也有很多问题需要注意,例如如何设计合理的划分服务接口、如何在服务间实现高效通 ...

读程序员的README笔记17_构建可演进的架构(下)

博主头像 1. 可演进的API 1.1. 随着需求的变化,你需要改变你的API,即代码之间的共享接口 1.2. 改变API很容易,但很难做到正确 1.3. 保持API小巧 1.3.1. 小巧的API更易于理解和演进 1.3.2. 只添加即刻需要的API方法或字段 1.3.3. 带有许多字段的API方法应该有合 ...

读程序员的README笔记16_构建可演进的架构(上)

博主头像 1. 行为准则 2. 需求的不确定性 2.1. 不断变化的客户需求 2.2. 软件项目无法避免的挑战 2.3. 产品需求和环境会随着时间的推移而改变,你的应用程序也必须随之改变 2.4. 不断变化的需求会导致不稳定性,使开发工作偏离轨道 2.5. 通过构建可演进的架构来适应不断变化的需求 2.5.1 ...

<1234···14>