网站 硬件方案网页设计存在的问题及分析

当前位置: 首页 > news >正文

网站 硬件方案,网页设计存在的问题及分析,为知笔记导入wordpress,专业制作存单Docker之技术架构 1. 八大架构演进之路1.1 单机架构1.2 应用数据分离架构1.3 应用服务集群架构1.4 读写分离架构1.5 冷热分离架构1.6 垂直分库架构1.7 微服务架构1.8 容器编排架构#xff08;docker出现#xff09; 2. 一个互联网实战架构 本章意在让大家了解Docker出现的历史… Docker之技术架构 1. 八大架构演进之路1.1 单机架构1.2 应用数据分离架构1.3 应用服务集群架构1.4 读写分离架构1.5 冷热分离架构1.6 垂直分库架构1.7 微服务架构1.8 容器编排架构docker出现 2. 一个互联网实战架构 本章意在让大家了解Docker出现的历史原因从宏观上认识Docker以及Docker在架构中起到的作用。 1. 八大架构演进之路 1.1 单机架构 1. 简介 应用服务和数据库服务共用一台服务器。

  1. 出现原因 出现在互联网早期访问量比较小单机足以满足需求。
  2. 架构工作原理 4. 技术案例 用户通过浏览器或app访问对应服务器。先输入网址www.taobao.com之后通过DNS解析找到服务器ip地址。之后请求通过Tomcat客户端转发给数据库端MySQL。拿到数据后原路返回给用户返回的时候不用再经过DNS了。 5. 优缺点 优点 部署简单成本低。 缺点 存在严重的性能瓶颈数据库和应用互相竞争资源。 1.2 应用数据分离架构 1. 简介 应用服务和数据库服务使用不同的服务器。
  3. 出现原因 单机存在严重的资源竞争导致站点变慢。
  4. 架构工作原理 4. 技术案例 5. 优缺点 优点 成本相对可控性能比单机有提升数据库单独隔离不会因为应用把数据库搞坏有一定的容灾能力。 缺点 硬件成本变高性能有瓶颈无法应对海量并发。 1.3 应用服务集群架构 1. 简介 引入了负载均衡应用以集群方式运行。
  5. 出现原因 单个应用不足以支持海量的并发请求高并发的时候站点响应变慢。
  6. 架构工作原理 通过调整软件架构增加应用层硬件将用户流量分担到不同的应用层服务器上来提升系统的承载能力。 4. 技术案例 本例中负载均衡层一共有三层分别是DNSLVS/F5Nginx。Nginx是软件实现的最高支持万级左右的高并发。LVVS/F5则是硬件实现的性能更高最高支持百万级左右的高并发。DNS本身也有并发功能可以达到亿万级。如果并发量高到连DNS层的并发都无法满足了还可以向上找到浏览器、APP让用户在本地就配置好分配的ip绕过DNS直接访问服务器。 软件设计哲学 一个人搞不定喊兄弟过来横向扩展Tomcat没有什么是加一层解决不了的。 5. 优缺点 优点 应用服务高可用不会一个服务出问题整个站点挂掉应用服务具备一定高性能如果不访问数据库应用相关处理通过扩展可以支持海量请求快速响应应用服务有一定扩展能力支持横向扩展。 缺点 数据库成为性能瓶颈无法应对数据库的海量查询数据库只有一个一旦挂掉整个系统就挂掉了容错率低运维工作增多扩展后部署运维工作增多需要开发对应的工具应对快速部署硬件成本较高。 1.4 读写分离架构 1. 简介 将数据库读写操作分散到不同的节点上数据库服务器搭建主从集群一主一从、一主多从都可以。数据库主机负责写操作从机只负责读操作。
  7. 出现原因 数据库成为瓶颈而互联网应用一般读多写少数据库承载压力大主要是由这些读的请求造成的那么我们可以把读操作和写操作分开。
  8. 架构工作原理 4. 技术案例 对于写入操作由主数据库先执行之后再通过主数据库同步到从数据库。读取操作直接由从数据库执行即可。主从数据库的分配以及从数据库的并发调度由mycat, tddl中间层实现。 5. 优缺点 优点 数据库的读取性能提升读取被其他服务器分担写的性能间接提升数据库有从库数据库的可用性提高了。 缺点 热点数据的频繁读取导致数据库负载很高当同步挂掉或者同步延迟比较大时写库和读库的数据不一致服务器成本需要进一步增加。 1.5 冷热分离架构 1. 简介 引入缓存实行冷热分离将热点数据放到缓存中快速响应。
  9. 出现原因 海量的请求导致数据库负载过高站点响应再度变慢。
  10. 架构工作原理 4. 技术案例 缓冲区可以采用Redis实现用户发送写入请求经过一层一层转化先访问到了Redis向缓冲区写入。之后再由缓冲区向数据库写入用户发送读取请求经过一层一层转化先访问Redis如果请求的数据在缓冲区中则直接从缓冲区读走数据返回给用户如果缓冲区中没有请求的数据则要去数据库查找数据返回。 5. 优缺点 优点 大幅降低对数据库的访问请求性能提升非常明显。 缺点 带来了缓存一致性缓存击穿缓存失效缓存雪崩等问题服务器成本需要进一步增加业务体量支持变大后数据不断增加数据库单库太大单个表体量也太大数据查询会很慢导致数据库再度成为系统瓶颈。 1.6 垂直分库架构 1. 简介 数据库的数据被拆分数据库数据分布式存储分布式处理分布式查询也可以理解为分布式数据库架构。
  11. 出现原因 单机的写库会逐渐会达到性能瓶颈需要拆分数据库数据表的数据量太大处理压力太大需要进行分表为降低运维难度业界逐渐研发了分布式数据库库表天然支持分布式。
  12. 架构工作原理 4. 技术案例 采用分库分表的方式实现该架构 直接使用分布式数据库实现该架构 使用Redis Cluster缓存集群使用现成的分布式数据库Greenplum、TiDB、Postgresql XC、HAWQ 等。 5. 优缺点 优点 数据库吞吐量大幅提升不再是瓶颈。 缺点 数据库和缓存结合目前能够抗住海量的请求但是应用的代码整体耦合在一起修改一行代码需要整体重新发布。 1.7 微服务架构 1. 简介 微服务是一种架构风格按照业务板块来划分应用代码使单个应用的职责更清晰相互之间可以做到独立升级迭代。
  13. 出现原因 扩展性差应用程序无法轻松扩展因为每次需要更新应用程序时都必须重新构建整个系统持续开发困难一个很小的代码改动也需要重新部署整个应用无法频繁并轻松的发布版本不可靠即使系统的一个功能不起作用可能导致整个系统无法工作不灵活无法使用不同的技术构建单体应用程序代码维护难所有功能耦合在一起新人不知道何从下手。
  14. 架构工作原理 4. 技术案例 常见的服务治理框架有SpringCloudDubbo 5. 优缺点 优点 灵活性高服务独立测试、部署、升级、发布独立扩展每个服务可以各自进行扩展提高容错性一个服务问题并不会让整个系统瘫痪新技术的应用容易支持多种编程语言。 缺点 运维复杂度高业务不断发展应用和服务都会不断变多应用和服务的部署变得复杂同一台服务器上部署多个服务还要解决运行环境冲突的问题此外对于如大促这类需要动态扩缩容的场景需要水平扩展服务的性能就需要在新增的服务上准备运行环境部署服务等运维将变得十分困难处理故障困难一个请求跨多个服务调用需要查看不同服务的日志完成问题定位。 1.8 容器编排架构docker出现 1. 简介 借助容器化技术如docker将应用/服务可以打包为镜像通过容器编排工具如k8s来动态分发和部署镜像服务以容器化方式运行。
  15. 出现原因 微服务拆分细服务多部署工作量大而且配置复杂容易出错微服务数量多扩缩容麻烦而且容易出错每次缩容后再扩容又需要重新配置服务对应的环境参数信息微服务之间运行环境可能冲突需要更多的资源来进行部署或者通过修改配置来解决冲突。
  16. 架构工作原理 4. 技术案例 在一个大公司中可能存在很多部门。比如公共服务层是一个部门该部门有自己的k8s集群管理旗下的多个容器化微服务。应用服务层分出两个部门一个商城部一个直播部每个部门都有自己的k8s集群。 2. 一个互联网实战架构