架构设计
老李说IT
这个作者很懒,什么都没留下…
展开
-
全面认识微服务探针原理
随着微服务架构的兴起,应用行为的复杂性显著提高,为了提高服务的可观察性,分布式监控系统变得十分重要。 基于 Google 的 Dapper 论文,发展出了很多有名的监控系统:Zipkin、Jaeger、Skywalking 以及想一统江湖的 OpenTelemetry 等。一众厂家和开源爱好者围绕着监控数据的采集、收集、存储以及展示做出了不少出色的设计。 时至今日即使是个人开发者也能依赖开源产品,轻松的搭建一套完备的监控系统。但作为监控服务的提供者,必须...原创 2020-12-29 19:36:55 · 2672 阅读 · 0 评论 -
软件的熵增现象
一、熵增定律熵的概念最早起源于物理学,用于度量一个热力学系统的无序程度。热力学第二定律,又称“熵增定律”,表明了在自然过程中,一个孤立的系统总是从最初的集中、有序的排列状态,趋向于分散、混乱和无序;当熵达到最大时,系统就会处于一种静寂状态。通俗的讲:系统的熵增过程,就是由原始到死亡的过程。“熵”是“活跃”的反义词,代表负能量。非生命,比如物质总是向着熵增演化,屋子不收拾会变乱,手机会越来越卡,耳机线会凌乱,热水会慢慢变凉,太阳会不断燃烧衰变……直到宇宙的尽头——热寂。在软件开发、维护过程中。原创 2020-12-28 10:38:45 · 2319 阅读 · 2 评论 -
大话领域驱动和微服务
领域驱动设计的几个基本概念领域:领域相对于软件系统来说,就是系统要解决的现实问题,一个领域对应一个问题空间,是一个特定范围边界内的业务需求的总和。领域来自于需求,但它却高于需求,相对于善变的需求而言,领域知识和领域模型本身是“静止”的,是“不变”的核心域:是业务域的一部分,也是业务是否能够促成的主要因素,应该给予最高的优先级支撑子域:对应着业务的某个重要组成部分通用子域:如果某个域被用做整个系统,那这种部分就是通用子域限界上下文:“限”的意思就是划分、规定,“界”就是界限、或者一个边界,原创 2020-12-19 10:44:08 · 411 阅读 · 3 评论 -
Kubernetes 1.20:最疯狂的版本
作者:Kubernetes 1.20发布团队我们很高兴地宣布Kubernetes 1.20的发布,这是我们在2020年发布的第三个也是最终的版本!这个版本包含了42个增强:11个增强已经稳定,15个增强进入beta, 16个增强进入alpha。在上一个扩展的发布周期之后,1.20的发布周期又回到了11周的正常节奏。这是一段时间以来功能最密集的版本之一:Kubernetes的创新周期仍呈上升趋势。这个版本更多的是alpha而不是稳定的增强,这表明在云本地生态系统中还有很多需要探索的地方。...原创 2020-12-12 11:54:20 · 8483 阅读 · 2 评论 -
不要惊慌:Kubernetes和Docker
作者:Jorge Castro, Duffie Cooley, Kat Cosgrove, Justin Garrison, Noah Kantrowitz, Bob Killen, Rey Lejano, Dan " POP " Papandrea, Jeffrey Sica, Davanum " Dims " SrinivasKubernetes将在1.20版本之后放弃对Docker的支持。你不需要惊慌。这并不像听起来那么戏剧化。Docker作为底层运行时正在被弃用,取而代之的是使用为Kub原创 2020-12-08 09:40:00 · 225 阅读 · 0 评论 -
大话分布式锁
分布式锁有那些开源实现常见的有以下几种分布式锁,或者如果搜索”分布式锁”,通常是以下这些实现:Redis-setnx、Redission、Redlock、ZooKeeper、etcd。那我们来看下这些分布式锁的实现方式和优缺点。先说明一点前提,我们在技术选型的时候,往往是要根据具体的业务场景做选择的,不是做纯粹的技术讨论,因为技术是为业务服务的。Redis setnx基于Redis锁主要利用Redis的setnx命令实现的,为了防止死锁setnx 和 expire必须一起使用,早...原创 2020-12-07 12:01:12 · 90 阅读 · 0 评论 -
PHP微服务框架Tars
什么是Tars?腾讯 Tars 是腾讯内部使用的 TAF(Tencent Application Framework)的对外开源版,去掉了许多冗杂多余的部分。该框架集开发、运维、微服务、RPC 等为一体。对程序员而言,这就是一个能够快速搭建整个微服务体系的开发框架。这个框架支持基于 C++、Node.js、PHP、Java 等语言开发,最新版本已经支持后台开发语言新贵——Go。设计思想Tars的设计思路是采用微服务的思想对服务进行治理,同时对整个系统的各个模块进行抽象分层,将各个层次之间相互解耦原创 2020-11-30 19:17:16 · 834 阅读 · 0 评论 -
大话中台
概念1、在中台的建设过程中,引入了精益创业中的MVP 原则(Minimum ViableProduct,最小可用品)2、电子商务领域大家经常提到的四流,具体指的是信息流、商流、资金流、物流的梳理工作3、敏捷关注的是价值确定的情况下,如何通过小步快跑的迭代方式按节奏交付价值;而精益关注的则是在价值并不确定的情况下,如何用最小成本,快速定位到真正价值点。工具1、电梯演讲2、DDD3、MVP中台建设前要想清楚的4个问题1、中台建设的愿景是什么?长期目标和短期目标..原创 2020-11-27 10:14:43 · 129 阅读 · 0 评论 -
「PHP学习手册」常见的9种设计模式
1、类自动载入随着PHP项目的变大,会导致一个PHP文件的前面有很多的require去包含各种依赖的PHP文件。如果某个类删除,但是在别的文件里有导入的情况,就会导致致命错误。解决以上问题的方法,就是__autoload()函数。PHP就是用这段代码,去动态的载入需要包含的文件。当使用某个类,而这个类没有包含到文件中时,就会调用__autoload()函数,去动态的加载这个文件。但是,当使用多个框架时,每个框架都会有自己的__autoload()实现,所以,会导致文件重复导入。2、单例模式$原创 2020-11-24 11:34:03 · 110 阅读 · 0 评论 -
企业级的 PHP 微服务云原生协程框架Hyperf 发布 v2.0.13 版本
更新内容本周主要新增了一些特性,并修复了一些组件的 ????Bug,继续提升 Hyperf 的稳定性,发布于2.0.13版,建议用户使用以下命令更新此版本。composer update "hyperf/*" -o直接访问 官网hyperf.io或 文档hyperf.wiki查看更新内容新增#2445当使用异常捕获器WhoopsExceptionHandler返回JSON格式化的数据时,自动添加异常的Trace信息。 #2580新增grpc-client组...原创 2020-11-20 14:16:03 · 398 阅读 · 1 评论 -
软件架构演进
软件架构演进 软件架构的发展经历了从单体结构、垂直架构、SOA架构到微服务架构的过程,博客里写到了这四种架它们的特点以及优缺点分析,个人学习之用,仅供参考!单体架构特点:1、所有的功能集成在一个项目工程中。2、所有的功能打一个war包部署到服务器。3、应用与数据库分开部署。4、通过部署应用集群和数据库集群来提高系统的性能。优点:1、项目架构简单,前期开发成本低,周期短,小型项目的首选。缺点:1、全部功能集成在一个工程中,对于大型项目不易开发、扩展及维护。2、系统性原创 2020-11-09 18:12:13 · 184 阅读 · 0 评论