一个优美的架构需要考虑的几个问题



如果你对项目管理、系统架构有兴趣,请加微信订阅号“softjg”,加入这个PM、架构师的大家庭

随着公司的架构逐步发展,越来越多的问题被提出来,也发现一个良好的技术架构需要考虑的问题

1 架构的可扩展性

这里面又包括以下几个方面

  • 水平垂直可拆分
  • 服务无状态
  • 数据可缓存
  • 可异步处理(提高性能)
  • 可复制(提高效率)
  • 无单点设计

2 架构的可管控性

这里面又包括以下几个方面

  • 服务可监控性
  • 支持服务降级升级
  • 故障可隔离(可禁用)
  • 发布可回滚

3 架构的可测性

  • 可测试

4 架构的可部署

  • 应用程序和数据可分开部署
  • 支持多数据中心的
  • 支持多异地灾备

以上就是一些技术架构需要考虑的问题,可能对于每个点不同的业务,不同的系统要求不一样,但是总体来说,都是作为一个架构师要考虑的。

如果你对项目管理、系统架构有兴趣,请加微信订阅号“softjg”,加入这个PM、架构师的大家庭

一个优美的架构需要考虑的几个问题,布布扣,bubuko.com

时间: 2024-10-10 21:29:18

一个优美的架构需要考虑的几个问题的相关文章

java中如何实现一个优美的equals方法

java中的任何类都从老祖宗Object中集成了equals方法,在编程实践中应用使用equals方法判断两个对象是否相同的场景无处不在,所以我们在实现自己的类是必须重写出一个优美的equals方法. 首先让我们来看看java语言规范中对equals方法的说明,一个equals方法应当满足如下几个特性: 自反性,对任何一个非空的引用x,x.equals(x)必须返回true: 对称性,对任何引用x和y来说,如果x.equals(y)返回true,那么y.equals(x)也必须返回true: 传

、web前端的这么知识应该是怎样的一个知识体系架构?

.web前端的这么知识应该是怎样的一个知识体系架构?之前我以为可以以W3C为纲要,把W3C的东西学会了就够了.后来发现我错了,W3C还不全面. 真正全面的覆盖了web前端知识体系的东西是——浏览器内核——这并不是说让你去详细了解浏览器内核.做出一个浏览器.浏览器是web前端代码运行的一个平台,浏览器内核里有哪些模块,我们就需要去学习哪些东西.详细的先不说,以后有机会再分享.

怎样成为PHP 方向的一个合格的架构师

突然看到这篇文章, 值得反省, 乐在其中, 在接下来的发展中不被淘汰的都来看看, 如何成为一个架构师 先明确这里所指的PHP工程师,是指主要以PHP进行Web系统的开发,没有使用其的语言工作过.工作经验大概在3~4年,普通的Web系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题.但他们会有这样的误点: ◆ 除了PHP不使用其它的语言,可能会点shell 脚本. ◆ 对PHP的掌握不精(很多PHP手册都没有看完,库除外). ◆ 知识面比较窄(面对需求,除开使

Python写的一个优美的定时器,定时精度可调

# -* coding: utf-8 -*- import sys import os import getopt import threading import time def Usage(): usage_str = '''说明: \t定时器 \timer.py -h 显示本帮助信息,也可以使用--help选项 \timer.py -d num 指定一个延时时间(以毫秒为单位) \t 也可以使用--duration=num选项 ''' print(usage_str) def args_p

从Apache的日志文件收集和提供统计数据(一个Python插件架构的简单实现)

从Apache的日志文件收集和提供统计数据 这一章我们将介绍基于插件程序的架构和实现.作为例子,我们将构建一个分析Apache服务器log文件的框架.这一次我们不再使用单片机的方式来创建,而是改为采用模块化的方式.一旦我们有了一个基本框架,我们就可以为它创建一个插件.这个插件可以基于请求者的地理位置执行分析. 程序的结构和功能 在数据维护和统计收集领域,很难有一个单一的应用程序可以适合多个用户的需求.让我们以分析Apache的web服务器日志文件为例.web服务器接受到的每一个请求都被记录在日志

从单一WAR到多活, 记述一个创业公司的架构演变

从单一WAR到多活, 记述一个创业公司的架构演变 本故事纯属虚构,如有雷同,实属巧合 程 是一个爱折腾,喜欢交朋友的程序员. 某一天,程一个朋友介绍了另外一个朋友 创 给他,创说他有个点子,可以改变世界,现在就差一个程序员.程看了创的PPT,觉得还不错,反正也没妹子,平时下班回家或者周末也没事干,就答应创,做他的合伙人,给他开发网站. 单一垂直架构 程把他自己在大学的时候做的基于Java的考试管理系统,拿来改了改,又自学了一些前端,三个月后,第一个版本的网站上线了.这个东西的后台大概这个样子,所

如何在裸机下设计一个嵌入式系统架构?

如何在裸机下设计一个嵌入式系统架构? 如何不使用操作系统的情况下设计一个嵌入式系统的架构呢?比如串口数据如何接受,串口数据协议在什么地方解析,SPI总线的数据如何有效的接收?等等问题.如何设计,才能尽量保证各个模块的效率呢?自己有一些设计,想一起讨论下.比如串口的数据先在中断程序中放入一个大数组中,然后在主程序中解析接收到的数据,等等--还有哪些技巧呢? 关注者 157 被浏览 7,457 关注问题写回答 ?添加评论 ?分享 ?邀请回答?举报 ? 收起 8 个回答 默认排序? Tony Ho 嵌

如果让你自评一下,你能成为一个好的架构师吗

架构师,这个title就和总监之类的title一样,已经彻底被用烂了,但在一个软件产品的生命周期中,架构师是实实在在的一个极度重要的角色,这篇文章就来讲讲我觉得的架构师的画像,到底具备什么素质的同学是贴合架构师形象的,同时欢迎大家回复下在你心目中NB的架构师的画像是怎么样的呢. 业务理解和抽象能力架构师的第一职责是理解业务,并转换为可被研发理解的实现方案,因此业务理解能力是架构师的必备技能,通常来说一个资深的业务架构师,对业务会有非常深的认识和积累,一个极好的业务架构师应该能大概预判业务未来的发

一个用三层架构实现数据访问的例子

看了2天的三层架构,其实自己以前也看过这个,可以由于没有使用过,所以对于三层架构也只是知道罢了,昨天看了一下他一些内部的具体架构,三层分别是BLL.WEB.DAL,在web接受用户请求,bll处理业务,dal处理数据库事务,下面是一个简单的例子!这是一个添加新员工的页面: 后台代码如下: usingSystem.Collections; usingSystem.Web; usingSystem.Web.Security; usingSystem.Web.UI; usingSystem.Web.U