zoukankan      html  css  js  c++  java
  • 中间件并发量及集群使用场景规划

    1、单个Tomcat的性能与最大并发数

    Tomcat 默认配置的最大请求数是 150,实际上也就300-400并发
    2、何时考虑进行tomcat集群

    当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群
    具体能承载多少并发,需要看硬件的配置,CPU 越多性能越高,分配给 JVM 的内存越多性能也就越高,但也会加重 GC 的负担。
    3、操作系统对于进程中的线程数有一定的限制:

    Windows 每个进程中的线程数不允许超过 2000
    Linux 每个进程中的线程数不允许超过 1000
    4、jvm

    在 Java 中每开启一个线程需要耗用 1MB 的 JVM 内存空间用于作为线程栈之用
    5、各种并发量对应的系统服务架构
    qps100以下

    单服务器,单应用
    qps1000以下

    启动多个tomcat实例(tomcat集群),并使用负载均衡服务器对其访问进行分配。用户访问直接访问负载均衡服务器。
    可以通过tomcat集群配置session共享,tomcat之间通过广播形式进行session复制。
    但是tomcat集群的session复制广播导致占用带宽,服务器响应性能变差。
    当tomcat集群中节点数量增加,服务能力先增加后下降,一般也就5个左右
    这种情况一般是一个项目是一个war包,一般并发量在1000以下可以hold住
    qps10000以下

    通过分布式架构,将session服务化,解决session复制问题,
    并按照功能模块拆分成独立子系统,独立配置子系统集群(加服务器,不用配置session共享)。
    需要按照功能点把系统拆分,拆分成独立的功能。
    单独为某一个节点添加服务器。
    需要系统之间配合才能完成整个业务逻辑。叫做分布式。
    这里写图片描述


    分布式与集群区别

    分布式架构:多个子系统相互协作才能完成业务流程。系统之间需要进行通信。
    集群:同一个工程部署到多台服务器上。
    分布式系统优缺点

    优点:
    1、把模块拆分,使用接口通信,降低模块之间的耦合度。
    2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。
    3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。
    4、可以灵活的进行分布式部署。
    缺点:
    1、系统之间交互需要使用远程通信,接口开发增加工作量。
    2、各个模块有一些通用的业务逻辑无法共用。
    针对分布式缺点进一步演化的架构

    如何让分布式代码可以复用——soa的架构
    SOA:Service Oriented Architecture面向服务的架构。
    也就是把工程拆分成服务层、表现层两个工程。
    服务层中包含业务逻辑,只需要对外提供服务即可。
    表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现
    这里写图片描述


    注:服务层和表现层之间采用的是远程调用的方式组合的,并不用走tomcat等类似的应用服务器,所以没有qps导致的问题。
    每个服务都可以配置成一个工程。

  • 相关阅读:
    Centos7,PHP7安装swoole
    安装最新LAMP环境(CentOS7+PHP7.1.5+Mysql5.7)
    PHP7性能提升原因
    Git 图文教程
    centos下安装mongodb和php的mongo扩展
    linux如何把普通用户添加到sudo组
    Linux常用的三种软件安装方式
    PHP几个常用的概率算法
    java面向对象知识(上)
    linux中tar命令用法
  • 原文地址:https://www.cnblogs.com/CMX_Shmily/p/11714522.html
Copyright © 2011-2022 走看看