热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

分布式部署

 一:分布式架构和部署1:如何进行分布式部署2:系统拆分后,模块之间如何相互调用3:如何进行统一的会话(Session)管理4:如何实现单点登录5:如何保证一致性更新6:如何规划和

 一:分布式架构和部署

1:如何进行分布式部署
2:系统拆分后,模块之间如何相互调用
3:如何进行统一的会话(Session)管理
4:如何实现单点登录
5:如何保证一致性更新
6:如何规划和处理分布式事务
7:如何对重要服务实现HA
二:高并发和Web层的性能优化
1:高并发的处理
2:Nginx的优化,Varnish的配置和优化
3:Web层的缓存和静态化
4:Web层的性能优化,基本原理、各种优化的手段
5:Tomcat集群和MSM
6:如何处理动态、实时内容
三:逻辑层处理和性能优化
1:Redis快速上手
2:缓存规划和Memcashed集群(使用magent)
3:异步规划和集群,以及优化
4:纯内存操作,应对复杂业务逻辑,比如:库存的查询和修改
5:如何处理高并发的业务
四:数据层处理和性能优化
1:大数据量的处理
2:MySQL的分区
3:如何分库
4:如何分表
5:应用MySQL Fabric
五:数据库优化(这个内容太多了,会专门开设另外的课程来讲)
1:MySQL的主从集群和读写分离
2:Galera for MySQL的集群
3:MySQL的HA和负载均衡
4:SQL优化的方法
5:MySQL常见的优化配置
6:NoSQL的应用

1.什么是分布式系统 

通俗点说:就是能把系统进行拆分并部署到多台服务器上的系统。(注意区分分层和集群)
专业点说:分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由网络互联的多处理机体系结构上执行任务的系统。常见的有:分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统、分布式数据库系统、分布式应用系统等。  

2.为何需要分布式
单台服务器已经无法承受访问压力
大数据处理
高并发访问
高可用性,自动容错
并行、高性能应用
……

3.分布式系统的特点
1):面对高并发、大数据量的处理要求
2):高可扩展性(可伸缩)
3):高性能
4):异构:操作系统、硬件、程序语言等
5):同步、异步操作混杂
6):安全性:授权认证、SSO单点登录、Oauth等
7):透明性,如:访问透明、位置透明、并发透明、故障透明、伸缩透明等

4.分布式系统的缺点
1):相互调用不便
2):网络通信的可靠性
3):网络传输数据的安全问题
4):系统开发更复杂
5):测试困难 

5.什么是分布式部署
简单点说:就是把程序或数据,分散部署到多台物理服务器上,但他们组合起来,形成一个整体对外提供服务。 

6.分布式架构部署的演变 

1.1台服务器的最简部署 

 分布式部署

比如我们在自己的电脑上跑一个项目!web服务器和数据库服务器都是在同一台物理机器上!

2.分离Web服务器和数据库服务器 
分布式部署

3.水平增加Web服务器,加入Varnish(请求很多,一台web服务器不够了) 
在一台服务器上起多台web服务器,或者增加硬件

 分布式部署

4.加入分布式的文件系统 
系统有大量的图片,文件等

 分布式部署

5.加入缓存服务(有大量的读取数据库中数据的情况) 
分布式部署

6.MySql数据库的主从集群、读写分离 
分布式部署

 

7.继续水平增加Web服务器,加入Nginx 

分布式部署

8.按业务进行缓存分离,缓存集群 
分布式部署

9.加入消息系统,进行异步处理

10.对重要的节点进行HA集群,或者是双机热备,以保障可用性 
分布式部署给开发带来的问题 
分布式部署会带来很多问题,有很多在开发期间就要考虑到,比如:
1:各个拆分开的模块间如何相互调用
2:单点登录
3:会话的统一管理
4:一致性更新
5:分布式事务
6:关键服务的可用性保障 


推荐阅读
  • 2023年最新:PHP本地端口配置详解
    本文详细介绍了PHP在不同环境下的本地端口配置方法及常见问题解决方案,帮助开发者更好地理解和配置PHP端口。 ... [详细]
  • 本文探讨了Go语言(Golang)的学习价值及其在Web开发领域的应用潜力,包括其独特的语言特性和为什么它是现代软件开发的理想选择。 ... [详细]
  • 本文详细介绍了Oracle数据库的基本架构,包括数据文件和内存结构的概念。文章重点解释了Oracle实例的组成部分,如系统全局内存区域(SGA)和后台进程,以及客户端进程与服务器进程的交互方式。此外,还探讨了SGA中的共享池、库高速缓存、锁存器及SGA缓冲区缓存等关键组件的功能和运作机制。 ... [详细]
  • 本文详细分析了一个生产系统中遇到的 Apache Axis2 403 Forbidden 错误,并提供了具体的排查步骤和解决方案。 ... [详细]
  • 深入解析TCP的三次握手、四次挥手及路由器的三层转发机制
    本文详细探讨了OSI七层模型中的传输层,重点分析了TCP协议的连接建立(三次握手)和断开(四次挥手)过程,以及路由器如何在三层网络中实现数据包的高效转发。 ... [详细]
  • Mario Peshev,自1999年起从事编程工作,现任DevriX首席执行官。本文最初发布于Quora,探讨了计算机技术与编程语言的区别及其对软件开发的影响。 ... [详细]
  • 本文探讨了缓存系统中的两个关键问题——缓存穿透与缓存失效时的雪崩效应,以及这些问题的解决方案。此外,文章还介绍了数据处理、数据库拆分策略、缓存优化、拆分策略、应用架构演进及通信协议的选择等内容。 ... [详细]
  • 本文档详细规划了从基础到高级的软件测试学习路径,包括但不限于测试基础、Linux和数据库、功能测试、Python编程、接口测试、性能测试、金融项目实战、UI自动化测试等内容,旨在为初学者和进阶者提供全面的学习指导。 ... [详细]
  • Lepus: 高效的企业级数据库监控解决方案
    访问官方网站:http://www.lepus.cc/。Lepus(天兔)数据库监控系统是由一位资深数据库管理员(现任职于一家知名互联网公司)专为互联网企业设计的专业数据库监控平台。该系统旨在提供全面的数据库性能监控与管理服务,支持多种主流数据库类型。 ... [详细]
  • 开发笔记:三分钟快速搭建分布式高可用的Redis集群
    开发笔记:三分钟快速搭建分布式高可用的Redis集群 ... [详细]
  • [TOC]Process的几个用法和守护进程一、Process的join用法话不多说,直接上代码二、Process的pid和ppid用法需要先导入os模块站在当前进程的角度:os. ... [详细]
  • 本文详细记录了在Ubuntu 9.10操作系统上从零开始搭建LAMP(Linux, Apache, MySQL, PHP)环境的过程,包括遇到的问题及解决方案。旨在为初次尝试搭建LAMP环境的开发者提供参考。 ... [详细]
  • 本文详细介绍了MySQL 5.5及以上版本中事务管理的全过程,包括事务的启动、设置、锁机制以及解锁方法,旨在为开发者提供一个清晰、全面的操作指南,避免因网络资料分散而导致的学习障碍。 ... [详细]
  • ASP.NET Core Razor模型验证绑定是否造成服务器资源浪费?
    探讨了ASP.NET Core Razor页面中模型验证绑定机制是否导致了不必要的服务器负载。通过一个简单的登录表单示例,分析了模型验证的过程及其对服务器的影响。 ... [详细]
  • 本文探讨了Java异常处理的本质,提出了设计模式以优化异常处理,并分析了在AOP模型中异常处理的应用。文章强调了正确使用Java异常对于提升代码质量和维护性的关键作用。 ... [详细]
author-avatar
bug
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有