
架构
文章平均质量分 89
JackieZhengChina
70'码农,优快云博客专家,信息系统项目管理师,工商管理硕士,CZB政采评审专家,中国采购与招标专家库专家,自驾爱好者,近20年教育类产品研发及管理经历,曾任教育科技公司联合创始人兼产品VP、科技公司产研VP。
职业标签:产品、项目、技术、运营、管理、战略。
展开
-
为什么我的系统慢?“三大分离”架构上了吗?(5000字长文,收藏)
动静分离(1)动静分离是指,静态页面与动态页面解耦分离,用不同系统承载流量的架构设计方法;(2)“页面静态化”是一种将原本需要动态生成的站点提前生成静态站点的优化技术;(3)总数据量不大,生成静态页面数量不多的业务,非常适合于“页面静态化”优化;读写分离(1)读写分离,解决“数据库读性能瓶颈”问题;(2)水平切分,解决“数据库数据量大”问题;(3)对于互联网大数据量,高并发量,高可用要求高,一致性要求高,前端面向用户的业务场景,微服务缓存架构,可能比数据库读写分离架构更合适;前台与后台分离。原创 2024-09-26 09:58:35 · 1009 阅读 · 0 评论 -
7 款殿堂级的开源 CMS(内容管理系统)
如果,你要挑一个开源 CMS:不会编程:首选 WordPress 因为它成熟简单,编程相关的东西都被藏在了背后。会 Python:django-cms 容易接受,wagtail 则更新、势头更猛。会前端:推荐 strapi 它背后有商业化公司支持,吃透了可以谋个远程全职。不会前端,但懂后端:推荐 Ghost,它玩法多、社区活跃、有免费主题。- END -作者:削微寒来源:优快云。原创 2024-08-15 14:12:54 · 4721 阅读 · 0 评论 -
如何设计一个高性能短链系统?
关系型数据库适合存储结构化数据,NoSQL数据库适合存储非结构化数据,而内存存储则适合存储需要高速访问的数据,比如说设计短链系统,其实redis这类kv存储是很合适的,可以抗高并发,通过集群部署也可以抗海量数据。短链访问如果要是并发量特别大,其实就可以考虑把短链重定向逻辑写到nginx里去了,而不是写java代码里,因为nginx天然高并发,而且其实重定向逻辑比较简单,我们可以用lua脚本去写这块的逻辑,直接查询长链接然后返回重定向就可以了。但是,它也有一个缺点,那就是ID的分配和回收问题。原创 2024-08-15 10:29:10 · 709 阅读 · 0 评论 -
设计模式运用
所谓 “设计模式”,就是一套反复被人使用或验证过的方法论。从抽象或者更宏观的角度上看,只要符合使用场景并且能解决实际问题,模式应该既可以应用在DDD中,也可以应用在设计模式中。设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。原创 2024-07-19 09:27:02 · 1033 阅读 · 0 评论 -
架构师(Java)必备知识图谱
计组原理深入、文件系统深入、网络IO模型、JVM模型深入、单机锁实现深入。原创 2024-07-14 10:02:14 · 508 阅读 · 0 评论 -
亿级IM聊天系统架构设计与重难点分析
IM系统就是即时通讯(Instant Messaging)系统的简称。IM其实并不局限于聊天、社交这类“典型”应用中,实际上它已经广泛运用于我们身边形形色色的软件中。聊天、直播、在线客服、物联网等所有需要实时互动、高实时性的场景等,都需要应用IM技术。1)微信、qq、钉钉等主流IM应用:这是IM技术的典型应用场景;2)微博、知乎等社区应用:它们利用IM技术实现了用户私信等点对点聊天;3)抖音、快手等直播/短视频应用:它们利用IM技术实现了与主播的实时互动;原创 2024-07-10 10:26:12 · 1305 阅读 · 0 评论 -
轻松搞定亿级用户中心系统架构
会员系统是一种基础系统,跟公司所有业务线的下单主流程密切相关。如果会员系统出故障,会导致用户无法下单,影响范围是全公司所有业务线。所以,会员系统必须保证高性能、高可用,提供稳定、高效的基础服务。随着同程和艺龙两家公司的合并,越来越多的系统需要打通同程APP、艺龙APP、同程微信小程序、艺龙微信小程序等多平台会员体系。例如微信小程序的交叉营销,用户买了一张火车票,此时想给他发酒店红包,这就需要查询该用户的统一会员关系。因为火车票用的是同程会员体系,酒店用的是艺龙会员体系,只有查到对应的艺龙会员卡号后,才能将红原创 2024-07-10 10:20:29 · 984 阅读 · 0 评论 -
MyBatis详解
MyBatis 是一款优秀的持久层框架它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。Maven仓库中文文档:https://mybatis.org/mybatis-3/zh/index.html查询 : 连接数据库,耗资源!原创 2024-06-23 09:29:15 · 1413 阅读 · 0 评论 -
高并发短视频系统设计:架构、存储与性能优化全解
当前短视频行业的快速发展,加上用户对高清、流畅观看体验的需求不断提升,对系统的并发处理能力、视频处理速度、存储效率等多方面都提出了极高的要求。那么,我们首先需要了解一个完整的短视频系统应该具备哪些核心模块。视频上传与处理视频内容分发与存储用户互动与评论视频搜索与推荐在本文中,我们详细介绍了如何设计一个支持三千万用户同时在线看视频的短视频系统,重点包括以下几个方面:理解短视频系统的核心模块。精确估算用户需求,面对高并发的挑战。搭建基础架构,实现视频上传、播放、搜索等核心功能。原创 2024-06-22 17:11:06 · 1564 阅读 · 0 评论 -
QPS、TPS、RT、吞吐量 等高并发性能指标
QPS Queries Per Second 是每秒查询率 ,是一台服务器 每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内 所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。TPS Transactions Per Second 也就是事务数/秒。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数,原创 2024-06-04 08:30:46 · 1187 阅读 · 0 评论 -
Spring推出了 AI 框架,Java集成 AI 轻松上手
Spring AI 项目的背景Spring AI的主要功能应用Spring AI在软件开发的世界中,Java一直是企业级应用的主力军。而Spring框架,尤其是Spring Boot,以其生态系统的丰富性,为开发者提供了无与伦比的便利。现在,Spring Boot正迈向一个新的纪元——人工智-能的时代。Spring AI项目的推出,不仅标志着Spring生态的进一步扩展,也为广大Java开发者开启了一个全新的编程领域。原创 2024-05-24 10:46:40 · 882 阅读 · 0 评论 -
ES+Redis+MySQL,这个高可用架构设计太顶了!
但在实际使用的过程中,申请了该账号的同事,可能异动到其他部门了,此时他可能也会调用会员系统,为了省事,他不会再次申请会员账号,而是直接沿用以前的账号过来调用,这导致我们无法判断一个会员账号的具体使用场景是什么,也就无法实施更精细的流控和降级策略。所以,我们采取的策略是,在试运行期间,主写 SqlServer,然后通过线程池异步写 MySQL,如果写失败了,重试三次,如果依然失败,则记日志,然后人工排查原因,解决后,继续双写,直到运行一段时间,没有双写失败的情况。我们有两个机房,分别是机房 A 和机房 B。转载 2024-05-04 15:56:35 · 95 阅读 · 0 评论 -
[转]【一文详解】知识分享:(ASP.Net Core基础学习及快速入门)
NET CLR(Common Language Runtime)是.NET的核心组成部分,它为.NET应用程序提供了一个运行环境。IL(Intermediate Language)是.NET Framework中的一种中间语言,也被称为CIL (Common Intermediate Language) 或 MSIL (Microsoft Intermediate Language)。转载 2024-04-08 07:13:51 · 844 阅读 · 0 评论 -
[转]DTO 和 POCO(或 POJO)有什么区别
DTO 和 POCO(或)有什么区别原文链接:https://ardalis.com/dto-or-poco/作者:Ardalis Steve在讨论 .NET 和 C# 中的软件开发时经常出现的两个术语是 DTO 和 POCO。一些开发人员交替使用这些术语。那么,DTO 和 POCO 之间有什么区别?首先,让我们定义每个术语。转载 2024-04-07 16:41:15 · 137 阅读 · 0 评论 -
分库分表的 21 条通用概念法则
本文介绍了关于分库分表架构的21个通用概念,有一定的了解之后,接下来我们将进入更深度的内容,包括读写分离数据脱敏分布式主键分布式事务配置中心注册中心Proxy服务等实战案例的讲解和源码分析。—END—转载 2023-05-20 10:03:36 · 274 阅读 · 0 评论 -
Docker与k8s
其实 Docker 和 k8s 并非直接的竞争对手,它俩相互依存。Docker 是一个容器化平台,而 k8s 是 Docker 等容器平台的协调器。虚拟化技术已经走过了三个时代,没有容器化技术的演进就不会有 Docker 技术的诞生。 (1)物理机时代:多个应用程序可能会跑在一台机器上。 (2)虚拟机时代:一台物理机器安装多个虚拟机(VM),一个虚拟机跑多个程序。 (3)容器化时代:一台物理机安装多个容器实例(container),一个容器跑多个程序。 容器化解决了软件开发过程中一个令人非常头疼的问题,用一转载 2022-06-13 10:41:24 · 7782 阅读 · 1 评论 -
什么是中台?企业为什么要建中台?从数据中台到AI中台。
从去年开始,好像就有一只无形的手一直将我与“微服务”、“平台化”、“中台化”撮合在一起,给我带来了很多的困扰和思考与收获。故事的开始源于去年的技术雷达峰会,我在会上做了一场关于平台崛起的主题分享(《The Rise of Platform》),这场分享主要是从技术的层面从Global的视角介绍了平台化的兴起,以及分享从基础设施到人工智能等各个领域不断涌现的各类平台,以及平台化对于软件开发人员及企业的影响。记得当时在做演讲彩排的时候,有同事就提到过,在中国提“数字化平台战略”可能大家会觉得比较转载 2022-05-24 17:59:33 · 1790 阅读 · 0 评论 -
微服务架构的设计原则和核心话题
一、前言毫无疑问,微服务架构的设计原则和核心话题是本文要讨论的重点,也是打算从零基础开始构建微服务架构需要事先考虑、规划的。一个好的产品、应用能否稳定运行,持续开发,满足业务需求,能否经得起现实的考验,就需要在设计阶段考虑很多、很多,以确保它的健壮性。当我们从单体架构的应用走向基于微服务的架构时,首先会面临一个很棘手的问题是如何进行服务的拆分,服务的拆分粒度应该如何衡量,怎样拆分的服务才算是“微”。接着将又会面临,这么多的服务又如何关联起来呢?如何有效的相互间通信呢?如何高效的部署呢……本文我将转载 2022-05-21 21:41:29 · 283 阅读 · 0 评论 -
微服务总体架构图
原创 2022-05-11 09:01:51 · 2554 阅读 · 3 评论 -
mock.js使用
一、Mock.js入门1. 什么是mock.js?Mock.js (官网http://mockjs.com/)是一款模拟数据生成器,旨在帮助前端攻城狮独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:1,根据数据模板生成模拟数据2,模拟 Ajax 请求,生成并返回模拟数据3,基于 HTML 模板生成模拟数据Mock.js 具有以下特点:1.前后端分离,让前端攻城师独立于后端进行开发。2.增加单元测试的真实性3.通过随..转载 2022-04-15 19:37:37 · 5979 阅读 · 0 评论 -
[转]2022 Flutter 宣布发布 Windows 正式版
原文链接: https://medium.com/flutter/announcing-flutter-for-windows-6979d0d01fed自从推出 Flutter 以来,我们一直专注于为漂亮的定制应用提供跨平台解决方案,这些应用被编译为机器代码并充分利用设备的底层图形硬件功能。今天这一愿景有了新的重大突破,第一个支持 Windows 的版本发布了。目前有近 50 万个应用程序正在使用 Flutter……到目前为止,我们已经看到了超出我们预期的...转载 2022-02-07 10:14:32 · 352 阅读 · 0 评论 -
[转]分布式事务之TCC服务设计和实现注意事项
1、TCC简介TCC是一种比较成熟的分布式事务解决方案,可用于解决跨库操作的数据一致性问题;TCC是服务化的两阶段编程模型,其Try、Confirm、Cancel 3个方法均由业务编码实现;其中Try操作作为一阶段,负责资源的检查和预留,Confirm操作作为二阶段提交操作,执行真正的业务,Cancel是预留资源的取消;如下图所示,业务实现TCC服务之后,该TCC服务将作为分布式事...转载 2019-12-06 21:11:25 · 433 阅读 · 0 评论 -
[转]nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件
文章目录前言 一、nginx简介 1. 什么是 nginx 和可以做什么事情 2.Nginx 作为 web 服务器 3. 正向代理 4. 反向代理 5. 负载均衡 6.动静分离 二、Nginx 的安装(Linux:centos为例) 1. 准备工作 2. 开始安装 3. 运行nginx 4. 防火墙问题 三、 Nginx 的常用命...转载 2019-11-28 22:16:13 · 530 阅读 · 0 评论 -
解读大型网站系统架构的演化
解读大型网站系统架构的演化大型网站的架构是根据业务需求不断完善的,根据不同的业务特征会做特定的设计和考虑,本文只是讲述一个常规大型网站会涉及的一些技术和手段。作者:李平来源:LEE的博客前言一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术转载 2017-11-23 10:17:52 · 278 阅读 · 0 评论 -
微服务落地,我们在考虑什么?
原创: 李宁 博云技术社区 导读微服务已经成为过去几年软件架构设计的“事实标准”,大多数企业在推动内部数字化转型的过程中,服务软件系统开始由单一或者SOA服务向微服务转型。那么转型过程需要遵循哪些原则呢?本文结合过往博云微服务落地实践经验,分享微服务落地实践的过程中思考。目前当技术人员提及微服务的时候,首先想到的是Spring Cloud、Dubbo...转载 2019-04-04 11:01:25 · 211 阅读 · 0 评论 -
如何画出一张合格的技术架构图?
阿里妹导读:技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也体现在优秀工程师在工作效率提升、产品性能优化和用户体验改善等经验方面的分享,以提高我们的专业能力。接下来,阿里巴巴技术专家三画,将分享自己和团队在画好架构图方面的理念和经验,希望对你有所帮助。当我们想用一张或几张图来描述我们的系统时,是不是经常遇到以下情况:对着画布无从下手、...转载 2019-04-11 08:47:38 · 1100 阅读 · 0 评论 -
基于Spring Boot和Spring Cloud实现微服务架构学习
目录Spring 顶级框架Spring cloud子项目WHAT - 什么是微服务微服务简介微服务的具体特征SOA vs MicroserviceHOW - 怎么具体实践微服务客户端如何访问这些服务?服务之间如何通信?这么多服务,怎么找?这么多服务,服务挂了怎么办?WHY - 微服务的应用So What - 思考参考资料和推荐阅读看了几周...转载 2019-04-12 17:01:21 · 494 阅读 · 0 评论 -
漫画:什么是架构师?
于是,小灰去向大黄请教这是有关未来的故事:从前,有一个赶路的人路过一片工地,看到三个年轻人在工地上搬砖。于是,他问其中一个人:于是,他又问了第二个人:...转载 2019-04-24 16:37:51 · 306 阅读 · 0 评论 -
互联网架构的演变,看了好多这个讲的确实清楚!
从过去的 OA、CRM、ERP等单机即可满足要求的系统到现代互联网时代各大公司的分布式、微服务平台,互联网架构正在经历着巨大的变革,技术也在不断的更新迭代。图片来自 Pexels这也意味着众多软件开发者们的压力和挑战正在不断的加大,这种新技术更新的速度甚至让我们望而却步。而我们需要做的恐怕不仅仅是学习那么简单了,更要从宏观的角度根据当前的技术形势及时做出更符合我们发展前景的决定。这...转载 2019-07-30 12:29:02 · 551 阅读 · 0 评论 -
[转].NET 开源项目 Anet 介绍
使用 Anet 有一段时间了,已经在我的个人网站(如 bookist.cc)投入使用,目前没有发现什么大问题,所以才敢写篇文章向大家介绍。GitHub 地址:https://github.com/anet-team/anetAnet 是一个 .NET Core 通用框架,特点是简单易用。它的目标是:A .NET Core Common Lib, Framework and Bo...原创 2019-08-15 12:32:34 · 311 阅读 · 1 评论 -
[转]让.NET应用秒变微服务
随着近年来微服务的发展,许多团队开始将自己的单体应用改造为微服务。通常Java或Go的应用可以通过业界已有的微服务框架作为微服务开发和改造的底座,封装掉解决跨网络问题带来的复杂性。但以Chassis模式进行的微服务改造有两大问题:多语言框架支持问题和侵入式改造代码问题。在这个基础上SideCar模式提供了另外一种接入分布式环境的方式,它使原有应用不与任何框架,平台或者服务绑定。对业务代码0侵入...转载 2019-08-15 12:38:58 · 221 阅读 · 0 评论 -
大型分布式网站架构技术总结
本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记,一部分是个人经验总结。对大型分布式网站架构有很好的参考价值。 本次分享大纲如下大型网站的特点大型网站架构目标大型网站架构模式高性能架构高可用架构可伸缩架构可扩展架构安全架构敏捷架构大型架构举例 一、大型网站的特点用户多,分布转载 2017-11-23 10:14:42 · 348 阅读 · 0 评论