自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (3)
  • 收藏
  • 关注

原创 架构设计笔记_07_识别复杂度

在设计一个高并发系统之前,首先要认识到该系统的复杂度是什么?前文已经说了引起系统复杂度的三高问题,但是当落实到一个具体业务系统上面时,往往是错综复杂的,下面我们从一个案例来详细讲解,这个案例也是我以前遇到的真实案例。数千万用户级别的跑步APP,5000万跑步用户,早晚高峰期,使用人数较多,用户可以关注其他跑友,读取最新关注好友的动态。跑步完成后记录会自动上传至服务器,并形成一条动态。用户可以发动态消息,包括文字或者图片。每到早晨和晚上,系统无法处理大量数据请求,数据同步出错,数据库连接池耗尽,数

2021-04-13 13:08:25 95

原创 架构设计笔记_06_高扩展问题

系统复杂度的另一个原因是高扩展需求引起的。电商秒杀,明星出轨,大量突发性事件导致互联网请求集中爆发,给平台造成大量高并发请求,这时候如果临时修改架构根本来不及,这就要求我们的平台可以通过扩展服务来应对。通过增加机器来实现服务性能的线性增长,等这波流量过去之后,就下线这些机器以节约成本。系统的扩展性,通过若干种手段可以实现,从两个场景来进行设计。代码层面基本的软件设计模式,即开闭原则,保证对扩展开放,对修改闭合。业务层和数据访问层,控制层和业务层都是通过接口来实现的,这里的接口就是一种扩展机制,保证

2021-04-13 13:07:44 82

原创 架构设计笔记_05_高可用问题

系统复杂度的另一个原因是高可用性,即无间断的提供服务。业内一半用几个9来表达服务的可用程度,即如下公式:服务年度可用性=(服务年度可用时间/年度总时间) x 100%知名大型网站要达到99.99%(俗称4个9),也是很难的,支付宝还会被挖断光缆,百度DNS解析也会出现问题呢!任何软件和硬件都会出现问题,磁盘会坏,软件有bug,按理说每50行代码就有可能产生一个bug,windows系统bug是修改不完的 ,所以一直在打patch啊!如何实现系统的高可用,通过冗余,就是增加机器的方式,这里增加机器

2021-04-13 13:06:04 106

原创 架构设计笔记_04_高性能问题

系统的复杂程度是由很多原因引起的,高性能问题是其中之一,那高性能问题又是什么引起的呢?严格意义上说高性能不是问题,而是一个需求,随着互联网时代到来,特别是移动互联网,人们随时随地都在产生数据,对于单机服务来说已经无法承受大量的计算和网络请求了,所以提出了对于高性能服务的需求。在两种场景下,即单机和服务器集群,都有提高性能的解决方案,下面聊聊这两种方式对于我们软件而言带来的复杂性。单机服务单机提供服务时,如果想提高性能,可以通过增加内存,增加核数,改用SSD,增加网卡吞吐量,这是通过改进硬件的形式提高性

2021-04-13 13:04:13 87

原创 架构设计笔记_03_设计原则和方法论

上一讲解释了几个名词,也就是架构和组件模块以及框架平台等之间的关系,这节我们直接进入正题,架构设计的三个原则,先给结论。合适原则是用mysql还是oracle,要看你的业务场景,比如电信的系统,原有系统很多都在oracle上存储数据,你不可能一下子全部换掉,但是电信业务的一个周边系统,全新的就完全可以用mysql;是用react还是vue,或者jsp,看你团队的技术体系,后期维护成本,业界好的不一定适合;是用单体系统,还是微服务,看项目成本和交付时间节点,一个简单的管理系统,用户总量上限1000,单体

2021-04-13 13:02:23 103

原创 架构设计笔记_02_设计原则和方法论

其实一个软件系统要不要设计架构,要看实际情况,设计架构的目的是为了解决软件系统的复杂度带来的问题。你在写一个图书管理系统的时候,按照常规的写法即可,没有三高要求,这时候不需要做架构设计,但是当这个图书管理系统管理的是全国所有图书馆时,用户是面向全国用户,那就需要架构设计,因为复杂度完全不同。在讲设计原则之前,我想先聊一下架构到底是什么?架构和框架有什么关系?系统和子系统有亲戚关系吗?系统和平台那个大?那组件和模块呢?是兄弟吗? 系统和子系统 微信是一个系统,而朋友圈是微信这个系统中的一个子系统

2021-02-18 13:19:51 297 1

原创 架构设计笔记_01_概述

不要被架构两个字吓到,架构师到底要不要讲细节?架构师要不要写代码?其实根本没有结论,就好比php是最好的语言,一个意思。没有对错,只有判断和取舍,根据公司业务,财力和场景不同,权衡利弊而已。小孩子才讲对错!该系列文章会主要涉及到如下内容: 架构设计理论原则和方法论 三高介绍(高可用高并发高性能) 架构设计流程之识别复杂度 架构设计流程之备选方案 架构设计流程之评估和选择 架构设计流程之详细方案设计 高性能架构模式 高并发架构模式

2021-02-18 13:04:03 149 1

weblogic集群

关于weblogic集群的安装部署和配置,在本机上测试通过

2009-02-23

webSphere安装、配置和WEB应用部署

关于websphere的安装配置和web应用的部署教程

2009-02-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除