软件架构
单一应用架构 当网站流量很小,只需要一个应用,将所有功能都写在这个应用中,能减少部署节点和部署成本,此时,使用简化增删改查的ORM框架是关键。之前一直写的案例都是单一应用架构
垂直应用架构 访问量主键加大,将应用拆分成几个不相干的应用,每个应用实现不同的功能,提升效率。如何设计部署web框架是关键
分布式服务架构(RPC) 即RPC架构,两个不同的应用有大量代码重复(PC端 移动端),我们可以将重复的部分独立服务,然后使用分布式框架(Dubbo)两个应用都调用该独立的服务,使得能够更快响应市场需求。写了PC,部署独立服务,能够很快的写出移动端。业务及复用的分布式框架是关键。
流动计算架构(SOA) 当分布式服务架构的服务越来越多,在其基础上增加一个服务调度和治理中心,服务都需要经过这个中心,可以进行加密处理、流量监控、异常处理等
什么叫做服务集群?
一个服务,部署多次,服务集群可以避免出现单点故障,其中一个节点宕机,其余的继续运行,另一方面能减小服务压力,提高效率。集群分为真实集群和伪集群,真实集群指的是每个结点在一个独立的物理机中运行,其中一个结点硬件故障,其他的还能运行,真实集群成本高,伪集群是指同一台物理机使用不同的端口表示不同的结点,但是一台物理设备挡掉,所有结点都无了,伪集群不在真实生产环境使用。
集中式负载均衡
DNS轮询 一个域名对应多个ip,然后根据请求的顺序,分配到不同的ip上(轮询) 反向代理负载均衡 之前在学习nginx的时候,因为nginx属于反向代理,就有负载均衡的应用场景,简单说就是科学选择服务分配负载,较好的分摊服务器压力 基于硬件的负载均衡 直接在服务器和外部网络之间安装负载均衡设备,这种设备称为负载均衡器,专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高智能化的流量管理,可以得到最佳的负载均衡需求。
进程内负载均衡
进程内负载均衡不需要依赖外部技术来实现,而是在服务集成组件,比如consumer向provider发送请求的时候,provider集群自带的组件的负载均衡策略选择合适的结点。
|