
架构设计
文章平均质量分 88
JackieZhengChina
70'码农,优快云博客专家,信息系统项目管理师,工商管理硕士,CZB政采评审专家,中国采购与招标专家库专家,自驾爱好者,近20年教育类产品研发及管理经历,曾任教育科技公司联合创始人兼产品VP、科技公司产研VP。
职业标签:产品、项目、技术、运营、管理、战略。
展开
-
架构,框架,模式,模块、组件、插件的含义和区别
架构、框架、模式、模块、组件、插件、控件、中间件的含义和区别。经常看到这些概念,但是有些含糊,花点儿功夫整理一下,结果还是有些地方理解的不透彻,先将整理的内容写下来,以供交流。左侧英文栏中有些单词被分成了两半,放到了两行中,看的时候需要注意。欢迎各路大虾、大牛、大神拍砖警醒,油锤灌顶~~~术语英文解释中文解释软件架构architectur原创 2018-02-02 11:26:20 · 659 阅读 · 1 评论 -
Vite执行npm run serve后浏览器报Cannot GET /
原文:https://blog.youkuaiyun.com/qq_41664096/article/details/121312823。在执行后并未发现异常,但在浏览器访问时,显示 Cannot GET /,说是找不到。实际上只是帮我们开启了一个静态 Web 服务器,并没有构建项目。查看了 package.json 文件中的 scripts,运行。在网上查找解决方案,发现并没有结果。版权声明:本文为作者原创文章,转载请附上博文链接!在使用 Vite 时,想像以前执行。一样,查看生产环境的应用。最后通过官方文档发现,转载 2022-08-20 10:46:41 · 795 阅读 · 0 评论 -
一文把RabbitMQ讲透了,佩服!
常见的消息队列很多,主要包括RabbitMQ、Kafka、RocketMQ和ActiveMQ,相关的选型可以看我之前的系列,这篇文章只讲RabbitMQ,先讲原理,后搞实战。不BB,直接上思维导图消息队列目前主要2种模式,分别为“点对点模式”和“发布/订阅模式”。一个具体的消息只能由一个消费者消费,多个生产者可以向同一个消息队列发送消息,但是一个消息在被一个消息者处理的时候,这个消息在队列上会被锁住或者被移除并且其他消费者无法处理该消息。单个消息可以被多个订阅者并发的获取和处理。...转载 2022-07-26 10:17:19 · 358 阅读 · 0 评论 -
有关并行的两个重要定律
加速比定义加速比=优化前系统耗时/优化后系统耗时所谓加速比就是优化前的耗时与优化后耗时的比值。加速比越高,表明优化效果越明显。图1-1为Amdahl公式推导过程,其中n表示处理器个数,T表示时间,T1表示优化前耗时(也就是只有1个处理器时的耗时),Tn表示使用n个处理器优化后的耗时。F是程序中只能串行执行的比例。图1-1根据这个公式,如果cpu处理器数量趋于无穷,那么加速比与系统的串行化比例成反比,如果系统中必须有50%的代码串行执行,那么系统的最大加速比为2。假设有一个程序分为以下步骤执。...转载 2022-07-24 09:16:59 · 432 阅读 · 0 评论 -
一文读懂研发效能洞察的五大流动指标
数字化时代,软件研发本身也要数字化。研发的数字化,可以从建设有效的研发效能洞察体系开始。基于精益思想,流动指标度量的就是价值的流动,指征了一个组织交付价值过程中的效率水平和健康程度。流动指标共有五个流动速率、流动时间、流动负载、流动效率和流动分布。综合利用好这五个指标,我们就可以讲述一个关于软件研发价值流完整的故事,回答关于研发交付效率如何的本质问题。张乐httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。...转载 2022-07-23 12:41:06 · 2051 阅读 · 0 评论 -
Java中ArrayList,LinkedList,Vector三者的异同点及其使用场景和ArrayList的一些常用方法
相同点:三者存储的都是有序,可重复的数据。异:①:ArrayList底层存储类型是Object数组,而LinkedList底层是双向链表②:ArrayList和Vector调用创建空参构造器创建对象时,默认的size是10,但是当自动扩容的时候,ArrayList扩容为当前容器size的1.5倍,而Vector自动扩容为当前的2倍。使用场景:①:当查找操作比较多时,使用ArrayList,因为其底层是数组实现,可以根据脚标查找,时间复杂度是O(1),而LinkedList底层是双向链表,查找起来还要遍历,其转载 2022-07-13 16:03:57 · 314 阅读 · 0 评论 -
聊聊接口性能优化的11个小技巧
接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题。该问题说简单也简单,说复杂也复杂。有时候,只需加个索引就能解决问题。有时候,需要做代码重构。有时候,需要增加缓存。有时候,需要引入一些中间件,比如mq。有时候,需要需要分库分表。有时候,需要拆分服务。等等……导致接口性能问题的原因千奇百怪,不同的项目不同的接口,原因可能也不一样。本文我总结了一些行之有效的,优化接口性能的办法,给有需要的朋友一个参考。接口性能优化大家第一个想到的可能是:。没错,优化索引的成本是最小转载 2022-07-13 15:14:43 · 1010 阅读 · 0 评论 -
千万级可观测数据采集器--iLogtail代码完整开源
2022年6月29日,阿里云iLogtail开源后迎来首次重大更新,正式发布完整功能的iLogtail社区版。本次更新开源全部C++核心代码,该版本在内核能力上首次对齐企业版,开发者可以构建出与企业版性能相当的iLogtail云原生可观测性数据采集器。本次发布新增日志文件采集、容器文件采集、无锁化事件处理、多租户隔离、基于Pipeline的新版配置方式等诸多重要特性,全面增强社区版的易用性和性能,欢迎广大开发者关注、共建。可观测性是通过检查其输出来衡量系统内部状态的能⼒。该术语起源于⼏⼗年前的控制理论,最早转载 2022-07-12 10:56:39 · 207 阅读 · 0 评论 -
万字总结 JS 数据结构与常用的算法
首先,为什么我会学习数据结构与算法呢,其实主要是有两方面然后,本文是最近学习的一个总结文章,文中有不足的地方也希望大家在评论区进行指正;文中的算法题,大部分都是leetcode中的,如不太理解题意,可直接去leetcode中找到对应的题。常常听到算法的时候,就会有人说到 时间复杂度, 空间复杂度。 那么这俩玩意是啥呢,下面我就来一一解释其实就是一个函数,用大 O 表示, 比如 O(1)、 O(n)…它的作用就是用来定义描述算法的运行时间如果是 O(1) + O(n) 则还是 O(n)O(n)转载 2022-07-08 09:00:24 · 178 阅读 · 0 评论 -
4种分布式session解决方案
cookie是本地客户端用来存储少量数据信息的,保存在客户端,用户能够很容易的获取,安全性不高,存储的数据量小session是服务器用来存储部分数据信息,保存在服务器,用户不容易获取,安全性高,储存的数据量相对大,存储在服务器,会占用一些服务器资源,但是对于它的优点来说,这个缺点可以忽略了在一次客户端和服务器为之间的会话中,客户端(浏览器)向服务器发送请求,首先cookie会自动携带上次请求存储的数据(JSESSIONID)到服务器,服务器根据请求参数中的JSESSIONID到服务器中的session库中转载 2022-06-28 10:50:35 · 875 阅读 · 0 评论 -
如何避免下重复订单
电子交易的一个很基本的问题,就是避免用户下重复订单。用户明明想买一次,结果一看下了两个单。如果没有及时发现,就会带来额外的物流成本和扯皮。对商家的信誉也不好看。从技术上看,这是一个分布式一致性问题;但实际上,技术无法100%解决这类问题,得结合多种手段综合处理。这里就来说道说道。比如下单的按键在点按之后,在没有收到服务器请求之前,按键的状态没有设为已禁用状态,还可以被按。又或者,在触摸屏下,用户手指的点按可能被手机操作系统识别为多次点击。嗯,谁能保证客户端不偶尔出个什么bug 呢。用户的设备与服务器之间可能转载 2022-06-24 10:43:21 · 2331 阅读 · 0 评论 -
什么是SRE?一文详解SRE运维体系
在任何有一定规模的企业内部,一旦推行起来整个SRE的运维模式,那么对于可观测性系统的建设将变得尤为重要,而在整个可观测性系统中。 可观测性系统在任何有一定规模的企业内部,一旦推行起来整个SRE的运维模式,那么对于可观测性系统的建设将变得尤为重要,而在整个可观测性系统中,通常我们会分为如下三个方面:一整套的可观测系统,它能确保你洞察系统,跟踪系统的健康状态、可用性以及系统内部发生的事情。对于整个可观测系统的建设,需要注意如下两点:在整个企业级可观测系统中,我认为至少应该包括如下几个特征:因此,一个企业级的可观转载 2022-06-23 20:13:20 · 15227 阅读 · 1 评论 -
火山引擎李玉光:字节跳动大规模K8s集群管理实践
2022年5月31日,在优快云云原生系列在线峰会第6期“K8s大规模应用和深度实践峰会”,火山引擎资深云原生架构师李玉光分享了《字节跳动大规模K8s集群管理实践》。 字节跳动云原生体系字节跳动内部云原生技术的使用贯穿组织技术体系各层面,整体如下图所示。研发体系层:包括CI/CD流水线、可观测平台、研发效能平台、混沌工程平台等。服务平台层:包括云原生框架体系、服务网格、无服务器计算以及边缘计算等。基础设施层:包括容器管理平台、计算存储和网络的PaaS平台。SRE体系:通过SRE整体能力的建设把研发体系到基础转载 2022-06-23 18:56:35 · 1078 阅读 · 0 评论 -
深入浅出聊布隆过滤器(Bloom Filter)
之前在网上看到过这么一段话👇这段话的大意就是:数据结构没有什么不同,在应用程序中他们就像是可以组织数据的书架,不同的数据结构将为您提供不同的便利和好处,你需要仔细权衡自己的需求之后妥善的使用它们。布隆过滤器就是践行这句话的代表,那么今天就和大家深入浅出的聊聊布隆过滤器(Bloom Filter)。还是老规矩,学习一个新知识之前,我们需要了解他的基本概念👇我们在布隆过滤器的基本概念中可以看到这么一句话,布隆过滤器可以用于检索一个元素是否在一个集合中。有些小伙伴可能会问:我们直接用......转载 2022-06-22 11:49:11 · 542 阅读 · 0 评论 -
SPI 与 API的区别
Java 中区分 API 和 SPI,通俗的讲:API 和 SPI 都是相对的概念,他们的差别只在语义上,API 直接被应用开发人员使用,SPI 被框架扩展人员使用API (Application Programming Interface)SPI (Service Provider Interface)当我们选择在调用方 和 实现方 中间引入 接口。上图没有给出“接口”应该位于哪个“包”中,从纯粹的可能性上考虑,我们有三种选择:对于类似这种情况下接口,我们将其称为 SPI, SPI的规则如下:常见的例子是转载 2022-06-22 09:27:37 · 2742 阅读 · 0 评论 -
常用的17个运维监控系统
Zabbix 作为企业级的网络监控工具,通过从服务器,虚拟机和网络设备收集的数据提供实时监控,自动发现,映射和可扩展等功能。Zabbix的企业级监控软件为用户提供内置的Java应用服务器监控,硬件监控,VMware监控和CPU,内存,网络,磁盘空间性能监控。该企业级网络监控工具能够每分钟进行 3,000,000 次检查,具有更高的安全性和数据中心监控功能。Nagios 是一款用于监控IT基础架构和查看当前状态、历史日志和基本报告的开源软件工具。 Nagios 用户可以监控系统指标,网络协议,应用程序,服务器转载 2022-06-21 09:21:41 · 6004 阅读 · 1 评论 -
Dubbo中的SPI机制
即 SPI,是JDK内置的一种服务提供发现机制,可以用来启用框架扩展和替换组件。可以让不同的厂商针对统一接口编写不同的实现SPI实际上是“接口+策略模式+配置文件”实现的动态加载机制。在系统设计中,模块之间通常基于接口编程,不直接显示指定实现类。一旦代码里指定了实现类,就无法在不修改代码的情况下替换为另一种实现。为了达到动态可插拔的效果,java提供了SPI以实现服务发现。SPI机制的应用场景有很多,我们比较常用的就是JDBC,Dubbo等在谈Dubbo的SPI机制前我们需要先了解一下Java原生的SPI机转载 2022-06-20 17:09:01 · 2431 阅读 · 0 评论 -
ZAB协议
ZooKeeper 最核心的作用就是保证分布式系统的数据一致性,而无论是处理来自客户端的会话请求时,还是集群 Leader 节点发生重新选举时,都会产生数据不一致的情况。ZAB 协议算法(Zookeeper Atomic Broadcast ,Zookeeper 原子广播协议)是 ZooKeeper 专门设计用来解决集群最终一致性问题的算法,它的两个核心功能点是崩溃恢复和原子广播协议。当接收到来自客户端的事务性会话请求后,系统集群采用主服务器来处理该条会话请求,经过主服务器处理的结果会通过网络发送给集群中其转载 2022-06-18 09:49:08 · 563 阅读 · 0 评论 -
[转]guava快速入门
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。guava类似Apache Commons工具集guava的Optional类似于Java 8新增的Optional类,都是用来处转载 2022-06-15 08:24:28 · 547 阅读 · 1 评论 -
Raft算法详解
Raft算法属于Multi-Paxos算法,它是在Multi-Paxos思想的基础上,做了一些简化和限制,比如增加了日志必须是连续的,只支持领导者、跟随者和候选人三种状态,在理解和算法实现上都相对容易许多从本质上说,Raft算法是通过一切以领导者为准的方式,实现一系列值的共识和各节点日志的一致Raft算法支持领导者(Leader)、跟随者(Follower)和候选人(Candidate)3种状态:Raft算法是强领导者模型,集群中只能有一个领导者在初始状态下,集群中所有的节点都是跟随者状态 Raft算法实现转载 2022-06-14 21:26:04 · 833 阅读 · 0 评论 -
Paxos算法详解
Paxos、Raft分布式一致性算法应用场景一文讲述了分布式一致性问题与分布式一致性算法的典型应用场景。作为分布式一致性代名词的Paxos算法号称是最难理解的算法。本文试图用通俗易懂的语言讲述Paxos算法。Paxos算法是Lamport宗师提出的一种基于消息传递的分布式一致性算法,使其获得2013年图灵奖。Paxos由Lamport于1998年在《The Part-Time Parliament》论文中首次公开,最初的描述使用希腊的一个小岛Paxos作为比喻,描述了Paxos小岛中通过决议的流程,并以此命转载 2022-06-13 20:18:40 · 334 阅读 · 0 评论 -
简述:分布式CAP理论和BASE理论
“all nodes see the same data at the same time”,即更新操作成功并返回客户端后,所有节点在同一时间的数据完全一致,这就是分布式的一致性。一致性的问题在并发系统中不可避免,对于客户端来说,一致性指的是并发访问时更新过的数据如何获取的问题。从服务端来看,则是更新如何复制分布到整个系统,以保证数据最终一致。可用性指“Reads and writes always succeed”,即服务一直可用,而且是正常响应时间。好的可用性主要是指系统能够很好的为用户服务,不出现用户转载 2022-06-12 20:48:41 · 284 阅读 · 0 评论 -
消息队列选型手册
前言消息队列中间件重要吗?面试必问问题之一,你说重不重要。我有时会问同事,为啥你用 RabbitMQ,不用 Kafka,或者 RocketMQ 呢?他给我的回答:“因为公司用的就是这个,大家都这么用”,如果你去面试,直接就被 Pass,今天这篇文章,告诉你如何回答。这篇文章,我重点突出消息队列选型,弱化每种队列内部的实现细节,精华提炼,可读性更强!常用的消息队列主要这 4 种,分别为 Kafka、RabbitMQ、RocketMQ 和 ActiveMQ,主要介绍前三,不 BB,上思维导图!消息队列基础| 什转载 2022-06-10 08:38:59 · 484 阅读 · 0 评论 -
一文弄懂分布式和微服务
简单的说,微服务是架构设计方式,分布式是系统部署方式,两者概念不同。 简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整个生命周期。在做架构设计的时候,先做逻辑架构,再做物理架构,当你拿到需求后,估算过最大用户量和并发量后,计算单个应用服务器能否满足需求,如果用户量只有几百人的小应用,单体应用就能搞定,即所有应用部署在一个应用服务器里,如果是很大用户量,且某些功原创 2022-06-02 12:16:51 · 406 阅读 · 0 评论 -
设计好接口的 36 个锦囊(原则)
目录设计好接口的 36 个锦囊| 接口参数校验| 修改老接口时,注意接口的兼容性| 设计接口时,充分考虑接口的可扩展性| 接口考虑是否需要防重处理| 重点接口,考虑线程池隔离| 调用第三方接口要考虑异常和超时处理| 接口实现考虑熔断和降级| 日志打印好,接口的关键代码,要有日志保驾护航| 接口的功能定义要具备单一性| 接口有些场景,使用异步更合理| 优化接口耗时,远程串行考虑改并行调用| 接口合并或者说考虑批量处理思想| 接口实现过程中,恰当使用缓存转载 2022-05-26 12:16:34 · 710 阅读 · 0 评论 -
官宣 微软跨平台 UI 框架 .NET MAUI 6 正式发布
微软宣布 .NET MAUI 已正式 GA。.NET MAUI (.NET Multi-platform App UI) 是一个跨平台 UI 框架(前身是 Xamarin.Forms),用于通过 C# 和 XAML 创建原生移动和桌面应用。基于 .NET MAUI,开发者可在单个共享代码库中创建同时支持 Android、iOS、macOS 和 Windows 的原生应用。微软在公告中表示,此版本是他们实现统一 .NET 平台目标的新里程碑,为打造更广泛的 .NET 生态奠定了基础,并将转载 2022-05-26 09:06:45 · 1280 阅读 · 0 评论 -
SOA架构和MSA架构之间的关系
典型的企业级应用系统或者互联网应用系统一般都是通过Web提供一组业务服务能力。这类系统包括:提供给用户操作的、运行于浏览器中、具有UI的业务逻辑展示和输入部分,运行于服务器端、用后端编程语言构建的业务逻辑处理部分,以及用于存储业务数据的关系数据库或其他类型的存储软件。根据软件系统在运行期的表现风格和部署结构,我们可以粗略地将其划分为两大类:整个系统的所有功能单元,整体部署到同一个进程(所有代码可以打包成1个或多个文件),我们可以称之为“单体架构”(Monolithic Architecture);转载 2022-05-25 15:06:56 · 634 阅读 · 0 评论 -
[转]Druid概述
1.Apache Druid简介Apache Druid是一个分布式的、面向列的、实时分析数据库,旨在快速获取大量数据并将其编入索引,并对大型数据集进行快速的切片和切分分析(“OLAP查询),常用于实时摄取、快速查询和对时间依赖性很高的数据库用户。因此,Druid可以为可视化的分析应用程序提供强力的数据源支持,或用作需要快速聚合的高并发API的后端。Druid最适合面向事件的数据。Apache Druid通常位于存储或处理层与最终用户之间,并充当查询层以服务于分析工作负载。常见应用领域.转载 2022-05-25 09:54:54 · 1363 阅读 · 0 评论 -
经典Java微服务架构教程 微服务从开发到部署
图书目录脑图:本书根据开源项目整理,由于原在线文档无法正常使用,本人重新在Github上重新布署了一套在线文档。 书中讲解非常详细,并且有在线的视频教程,另有在线文档和在线的源码。 书中的代码由于PDF排版问题可能显示不全,可以打开在线的源代码对照学习及练习。图书源代码:https://github.com/topsale/code-java-cloud-dubbo图书源文件:https://github.com/topsale/book-java-cloud-dubbo原创 2022-05-24 12:31:10 · 304 阅读 · 0 评论 -
[转]微服务的4个设计原则和19个解决方案
目录一、微服务架构演进过程二、微服务架构的好处三、微服务应用4个设计原则1.AKF拆分原则2.前后端分离3.无状态服务4.Restful通信风格四、微服务架构带来的问题五、微服务平台的19个落地实践1.企业IT建设的三大基础环境2.微服务应用平台总体架构3.微服务应用平台的运行视图4.微服务平台的设计目标5.微服务开发:前端、后端、混合6.服务契约与API管理7.服务契约与服务模拟8.服务契约与服务编排9.微服务容器10.三方能力集转载 2022-05-21 21:53:34 · 1586 阅读 · 0 评论 -
微服务架构的设计原则和核心话题
一、前言毫无疑问,微服务架构的设计原则和核心话题是本文要讨论的重点,也是打算从零基础开始构建微服务架构需要事先考虑、规划的。一个好的产品、应用能否稳定运行,持续开发,满足业务需求,能否经得起现实的考验,就需要在设计阶段考虑很多、很多,以确保它的健壮性。当我们从单体架构的应用走向基于微服务的架构时,首先会面临一个很棘手的问题是如何进行服务的拆分,服务的拆分粒度应该如何衡量,怎样拆分的服务才算是“微”。接着将又会面临,这么多的服务又如何关联起来呢?如何有效的相互间通信呢?如何高效的部署呢……本文我将转载 2022-05-21 21:41:29 · 283 阅读 · 0 评论 -
千万级高并发、高可用分布统中间件 知识图谱
原创 2022-05-09 19:22:58 · 336 阅读 · 0 评论 -
consul部署多节点和consul-template部署
一.consul的介绍1.1consul是什么?Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。 Consul是分布式的、高可用的、可横向扩展的。它具备以下特性 :service discovery:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务,例如saas提供的也可以一样注册。health checking:健康检测使consul可以快速的告警在集群中的操作。和服务发现的集成,可以防止服务转发到故障的服务..转载 2022-05-09 15:39:02 · 1095 阅读 · 0 评论 -
ASCII码16进制对照表
ASCII码对照表ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的型态发表是在1967年,最后一次更新则是在1986年,至今为止共定义了128个字符,其中33个字符无法显示(这是以现今操作系统为依归,但在DOS模式下可显示出一些诸如笑原创 2020-06-24 13:39:14 · 74350 阅读 · 0 评论 -
k8s docker集群搭建
一、Kubernetes系列之介绍篇1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 -一次构建,到处运行 -容器的快速轻量 -完整的生态环境2.什么是kubernetes 首先,他是一个全新的基于容器技术的分布式架构领先方案。Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行...转载 2022-04-05 16:35:43 · 3673 阅读 · 0 评论 -
[转]LVS负载均衡(LVS简介、三种工作模式、十种调度算法)
一、LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,其体系结构如图1所示,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器,比如,轮询算法可以将外部的请求平均分发给后端的所有服务器,终端用户访问LVS调...转载 2022-04-04 22:11:50 · 666 阅读 · 0 评论 -
告别国外 IDE,阿里 & 蚂蚁自研 IDE 研发框架 OpenSumi 正式开源
经历近 3 年时间,在阿里集团及蚂蚁集团共建小组的努力下,OpenSumi 作为国内首个强定制性、高性能,兼容 VS Code 插件体系的 IDE 研发框架,今天正式对外开源。一 OpenSumi 是什么?OpenSumi 是一款面向垂直领域,低门槛、高性能、高定制性的双端(Web 及 Electron)IDE 研发的框架。框架早期由阿里集团淘系工程团队及蚂蚁集团体验技术部、研发效能团队联合发起,共同研发的 IDE 标准化研发框架。它基于TypeScript+Reac...转载 2022-03-04 09:37:08 · 489 阅读 · 0 评论 -
[转]【分布式系统】唯一ID生成策略总结
文章目录 全局唯一id介绍 全局唯一id特点: 常见全局唯一id生成策略 1、数据库自增长序列或字段生成id 2、UUID 3、Redis生成ID 4、zookeeper生成ID 5、Twitter的snowflake算法 全局唯一id介绍 系统唯一id是我们在设计阶段常常遇到的问题。在复杂的分布式系统中,几乎都需要对大量的数据和消息进行唯一标识。在设计初...转载 2022-02-15 08:40:32 · 333 阅读 · 0 评论 -
[转]Docker 大势已去,Podman 即将崛起
PodmanPodman 什么是Podman? Podman和Docker的主要区别是什么? Podman的使用与docker有什么区别? Podman 常用命令 容器 镜像 部署 Podman Podman 加速器 使用 Podman 运行一个容器 列出运行的容器 检查正在运行的容器 查看一个运行中容器的日志 查看一个运行容器中的进程资源使用情况 停止一个运行中的容器 删除一个容器 上传镜像 ...转载 2022-01-05 21:11:39 · 331 阅读 · 0 评论 -
[转]SDK与API区别
转载:https://www.zhihu.com/question/21691705/answer/149935191SDK(software development kit),中文可译为“软件开发工具包”。一般都是一些被软件工程师用于为特定的软件包、软件架构、硬件平台、操作系统等建立应用软件的开发工具的集合。通俗点是指由第三方服务商提供的实现软件产品某项功能的工具包。在编辑器里敲代码的时候它会自动补全代码、自动检查错误。通常SDK是由专业性质的公司提供专业服务的集合,比如提供安卓开发.转载 2021-10-13 19:57:05 · 147 阅读 · 0 评论