中国建行网站首页,做一个app需要什么流程,秦皇岛网站开发公司电话,网站目录结构说明一、浅谈分布式系统
1. 单机架构#xff1a;只有一台服务器#xff0c;这个服务器负责所有的工作。 如果遇到了服务器不够的场景怎么处理?
开源#xff1a;增加更多的硬件资源节流#xff1a;软件上的优化#xff0c;优化代码等…一台服务器资源使用有限#xff0c;就…一、浅谈分布式系统
1. 单机架构只有一台服务器这个服务器负责所有的工作。 如果遇到了服务器不够的场景怎么处理?
开源增加更多的硬件资源节流软件上的优化优化代码等…一台服务器资源使用有限就需要引更多的服务器此时系统复杂度就会大大提高
2. 应用服务和数据库服务分离 3. 引入更多的应用服务器节点 那上述中 负载均衡服务器 看起来承担了所有的服务请求那么它顶得住吗 负载均衡服务器对于请求量的承担是远远超过应用服务器的。 这就好比 ● 负载均衡服务器是领导负责分配任务 ● 应用服务器是组员复杂执行任务 就算请求量多到负载均衡服务器也承担不了那就引入更多负载均衡服务器~多个机房 4. 数据库服务器怎么解决承担压力
在上述中应用服务器虽然分担了压力但是数据库服务器仍然只有一个那该怎么办呢 主服务器一般是一个从服务器可以有多个。一主多从同时从数据库中通过负载均衡的方式让应用服务器进行访问。 5. 引入缓存
然而数据库有个天然的问题响应速度是很慢的因为是从硬盘中读取数据~ 所以我们把数据区分为“冷热”热点数据放到缓存中访问的速度比数据库快很多
6. 数据库如何承担更大的数据量
上述是解决了请求量并发量的问题但是数据库容量始终有限如果出现一台服务器存不下数据该怎么办 可以针对数据库进行分库分表的操作。引入多个数据库服务器每个数据库服务器存储一个或者一部分数据库. 7. 微服务架构
之前的应用服务器一个服务器程序做了很多事情这可能会导致这个服务器代码越来越复杂~ 为了更方便的维护就可以把一个复杂的应用服务器拆分成更多的、更单一的服务器微服务 微服务本质上是解决了“人”的问题~ 引入微服务出现的问题 ● 系统性能下降拆出来更多的服务多个功能之间更要依赖网络通信网络通信的速度速度很可能比硬盘还慢 ● 系统复杂度提高可用性受到影响服务器出现问题概率更高 微服务的优势 ● 解决了“人”的问题 ● 使用微服务可以更方便于功能的复用 ● 可以给不同的服务进行不同的部署 8. 总结
单机架构应用程序数据库服务器数据库和应用分离应用程序和数据库服务器分别放到不同主机上部署引入负载均衡多个应用服务器之间通过负载均衡把请求比较均匀分发给集群中的每个服务器引入读写分离数据库主从结构一个数据库作为主节点其他数据库作为从节点。主节点负责 写数据从节点负责 读数据。主节点需要把修改过的数据同步给从节点5引入缓存冷热数据分离结构进一步提升服务器处理请求的能力 数据库和缓存数据一致性问题数据库分库分表数据库能够进一步扩展存储空间根据具体业务微服务架构从业务上进一步拆分应用服务器拆分成功能单一更简单的服务器