短链设计
摘要:高性能短链设计 前言 今天,我们来谈谈如何设计一个高性能短链系统,短链系统设计看起来很简单,但每个点都能展开很多知识点,也是在面试中非常适合考察侯选人的一道设计题,本文将会结合我们生产上稳定运行两年之久的高性能短链系统给大家简单介绍下设计这套系统所涉及的一些思路,希望对大家能有一些帮助。 本文将会从
阅读全文
EventBus + Redis发布订阅模式
摘要:EventBus + Redis发布订阅模式 使用Redis配合事件总线去实现下具体的业务。 需求 一个简单的电商,有几个重要的需求点 商品下单后TODO 存储订单信息 锁定商品库存 消息推送商家端 订单支付后TODO 存储订单支付信息 商品库存减少 消息推送商家端 会员积分调整 技术思路 这里用控
阅读全文
并发、并行和高并发
摘要:高并发的概念及应对方法 为什么学习高并发? 作为一名非CS科班出生的同学,在经过多年IT从业之后,明显能感受到职业生涯发展的后继无力,由于从事的是传统金融行业,对应的公司其实内心深处是不重视IT部门的,而我这种IT从业人员虽然已经是团队或者是部门非常重要的人员,但是最后再发展下去也就是一个业务专家,
阅读全文
技术架构演变
摘要:微服务架构介绍 https://www.cnblogs.com/mrhelloworld/p/12388859.html 技术架构演变 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 单一应用架
阅读全文
领域模型
摘要:《领域驱动设计》学习笔记 【第一部分】运用领域模型 第1章:消化知识 有效的建模要素 (1)模型和实现的绑定 (2)建立了一种基于模型的语言 (3)开发一个蕴含丰富知识的模型 (4)提炼模型 (5)头脑风暴和实验 【学习心得】:千万不要用自己有限的思维规划完整的图形,持续学习、消化、输出(讨论)、沉
阅读全文
性能优化
摘要:性能优化 = 改改代码? 如果第二次看到我的文章,欢迎右侧扫码订阅我哟~ 👉 每周五11:45 按时送达。当然了,也会时不时加个餐~ 我的第「124」篇原创敬上 大家好,我是Z哥。 好久没写技术文章了,最近正好有进行一些思考,顺手写出来分享给大家。 上了一定规模的系统,特别是To C的系统,性
阅读全文
高并发场景下锁
摘要:高并发场景下锁的使用技巧 如何确保一个方法,或者一块代码在高并发情况下,同一时间只能被一个线程执行,单体应用可以使用并发处理相关的 API 进行控制,但单体应用架构演变为分布式微服务架构后,跨进程的实例部署,显然就没办法通过应用层锁的机制来控制并发了。那么锁都有哪些类型,为什么要使用锁,锁的使用场景
阅读全文
软件架构设计
摘要:软件架构设计常用概念、原则与思想 导读 本文一文总结软件架构设计常用概念、原则与思想,包括面向对象六大原则,DID原则,ACID、CAP、BASE理论,中间层思想,缓存思想等。 面向对象设计六大原则 一 单一职责原则(SRP): 定义是就一个类而言,应该仅有一个引起他变化的原因。也就是说一个类应该只
阅读全文
为什么CAP不能同时满足?
摘要:写在前面 在当今信息爆炸的时代,单台计算机已经无法负载日益增长的业务发展,虽然也有性能强大的超级计算机,但是这种高端机不仅费用高昂,也不灵活,一般的企业是负担不起的,而且也损失不起,那么将一群廉价的普通计算机组合起来,让它们协同工作就像一台超级计算机一样地对外提供服务,就成了顺其自然的设想,但是这又
阅读全文
软件架构
摘要:何谓架构 前言:在这个知识分享的爆炸时代,鉴于java生态的完整和繁荣,各种框架、中间件和工具包供我们使用。连新培训出来的人都知道ssm,微服务、集群、多线程、队列、高并发等技术,技术的间隔性正变得越来越小,仿佛我们只需要按部就班的去使用别人说的框架等技术就可以解决问题.如果刨除redis、rabb
阅读全文
程序性能指标
摘要:程序性能指标 关于若干性能指标的阐述 目录 应用程序性能指标 响应时长 并发数 吞吐量 如何提升应用的响应能力 尽可能地压缩响应时长 设置合理的并发数量 在开始之前必须说明,本文力图简单的描述而非学院派解释。 应用程序性能指标 一般地说,单一指标无法勾画出整体水平,我们需要综合使用响应时长、并发数、
阅读全文
分布式系统与高并发高可用
摘要:分布式系统与高并发高可用 浅析分布式系统中的一致性哈希算法 通过本文将了解到以下内容: 分布式系统的简单概念和基本作用 分布式系统常用负载均衡策略 普通哈希取模策略优缺点 一致性哈希算法的定义和思想 一致性哈希的基本过程 Redis集群中一致性哈希的实现 1.分布式系统的基本概念 分布式系统与高并发
阅读全文
认证(Authentication)与授权(Authorization)
摘要:认证与授权 漫谈认证与授权 Intro# 认证与授权一直以来都是很多人在讨论的话题,之所以想这次谈一谈认证和授权,主要是因为最近看到许多文章都把认证和授权混为一谈,把认证方式当作是授权方式。所以想写篇文章谈谈我眼中的认证与授权 Authentication# 什么是认证?认证是一个尝试解决我是谁的问
阅读全文
Consul架构
摘要:Consul架构 微服务 consul使用 前言 常见的注册中心有zookeeper 、eureka、consul、etcd。从生态发展、便利性、语言无关性等角度来综合考量,选择consul,多数据中心支持,支持k-v能力,可扩展为配置中心。github地址:https://github.com/h
阅读全文
Orleans3.0
摘要:原文:https://devblogs.microsoft.com/dotnet/orleans-3-0/ 作者:Reuben Bond,Orleans首席软件开发工程师 翻译:艾心 这是一篇来自Orleans团队的客座文章,Orleans是一个使用.NET创建分布式应用的跨平台框架。获取更多信息,
阅读全文
分布式应用框架 Dapr
摘要:微软的分布式应用框架 Dapr Helloworld Dapr HelloWorld Dapr Distributed Application Runtime. An event-driven, portable runtime for building microservices on cloud
阅读全文
有状态 Vs 无状态
摘要:NET Core 分布式框架 公司物联网项目集成Orleans以支持高并发的分布式业务,对于Orleans也是第一次接触,本文就分享下个人对Orleans的理解。 这里先抛出自己的观点:Orleans 是一个支持有状态云生应用/服务水平伸缩的基于Virtual Actor 模型的.NET分布式框架。
阅读全文
FaaS(函数即服务) + BaaS(后台即服务)
摘要:作者 | 黄子毅(紫益) 阿里前端技术专家 导读:前端开发者是最早享受到 “Serverless” 好处的群体,因为浏览器就是一个开箱即用、甚至无需为计算付费的环境!Serverless 把前端开发体验带入了后端,利用 FaaS 与 BaaS 打造一套开箱即用的后端开发环境。本文作者将从前端角度出发
阅读全文
分库分表数据库自增 id
摘要:分库分表之后,ID 主键如何处理? 面试题 分库分表之后,id 主键如何处理? 面试官心理分析 其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个全局唯一的 id 来支持。所以这都是你实际生产环境中必须考虑的问题
阅读全文
A Philosophy of Software Design
摘要:关于复杂性,尚无统一的定义,从不同的角度可以给出不同的答案。可以用数量来度量,比如芯片集成的电子器件越多越复杂(不一定对);按层次性[2]度量,复杂度在于层次的递归性和不可分解性。在信息论中,使用熵来度量信息的不确定性。 John Ousterhout选择从认知的负担和开发工作量的角度来定义软件的复
阅读全文