首页 文章 精选 留言 我的

精选列表

搜索[主题渐变],共10000篇文章
优秀的个人博客,低调大师

企业级系统架构设计技术与互联网应用技术结合主题一 大规模并发性能问题探讨

何谓大规模并发,不同层面有不同的理解 企业应用(Intranet):千级强并发,万级弱并发(在线用户),十万级用户 大型企业ERP、供应链,大型企业HR、办公OA 互联网应用(Internet):百万级强并发,千万级弱并发(在线用户),亿级用户/ 门户网站(新浪、腾讯) 平台级电子商务(阿里巴巴、淘宝网、拍拍网) 搜索引擎(百度) 电子商务企业应用(Intranet + Internet):十万级强并发,百万级弱并发(在线用户),千万级用户 B2C电子商务(京东、凡客、一号店) 垂直型电子商务(金银岛、携程) 不同系统间的并发特点企业系统 大量事务性、实时性访问 大量的事务、锁检测导致数据库访问瓶颈 需要数据操作的实时更新 大量有状态性访问 数据访问具有较强的操作上下文 数据一致性、准确性的高敏感 数据每一次事务性更新都必须得到充分展现,并且确保数据访问的一致性 清晰的业务逻辑进行并发划分 一般来说,企业系统都可以进行明确的业务区分,从而决定系统特点 互联网系统海量非事务性访问 极其巨大的数据量及数据访问导致IO操作成为瓶颈 模糊的并发区分 并发访问的用户中很难通过内容进行有效分发 并发访问一般具有地域性 数据访问效率的高敏感 用户对系统的响应时间非常敏感,需要在几秒内得到信息反馈 用户更加在意数据的匹配性 电子商务系统数据实时性的高敏感价格、信息同步的一致性等受制于企业级系统的约束 如支付,受事务性影响 海量非事务性访问+一定规模事务性访问信息访问具有互联网系统特点、信息操作具有企业系统特点 如数据的搜索查询、展现具有互联网系统特点 如数据的操作(支付、结算)具有企业系统事务性特点 什么是性能问题 在可识别的压力下,系统无法提供服务 (最差的性能问题) 在可识别的压力下,系统无法按服务质量标准提供服务 (满足性能标准,但是健壮性不足) 在可识别的压力下,系统无法持续按服务质量标准提供服务 (系统的可靠性和健壮性) 在超过识别的压力下,系统无法尽快恢复 能否有故障转移、故障恢复、冗余热备等机制 在超过识别的压力下,系统无法柔性伸缩 (系统的可伸缩性) 什么不是性能问题 超过可识别的压力情况下,系统暂时无法有效提供服务 性能测量服务质量 网络响应:网络响应时间、网络吞吐量、网络带宽及带宽利用率 服务响应时间:包括平均、峰值、标准区间值 服务处理质量:事务成功率、单位时间响应事务次数 服务端设备状态 CPU:CPU使用率 内存:使用内存大小 VM:GC次数(Full GC次数)、堆内存、线程数、锁和阻塞情况 磁盘IO:磁盘访问效率、磁盘空间、磁盘IO吞吐量 系统可靠性、健壮性 单节点处理的访问量 故障恢复时间 节点复制和节点扩展的难易 系统可能的性能瓶颈 网络 网络带宽的总体限制 网络连接数的限制(如TCP/IP, 数据库连接等) 服务器 每个响应占用相应的资源,导致内存成为瓶颈 比如JVM为每个线程分配栈空间,过多栈空间导致内存消耗 比如每个HTTP连接在Session存储内容,导致OOME 同时响应一定量的并发操作,导致CPU占用过高 磁盘IO 频繁访问数据库,导致数据交换IO操作频繁 频繁访问IO文件,导致磁盘IO成为瓶颈 企业级系统架构及技术特点架构设计基于SOA和MDA的架构 以服务为核心单元的 设计思想,以传统WS作为服务发布 以模块化为系统构建方式,重视应用子系统和子模块的独立性和可重用性 中央集中式部署架构 专业小型服务器 一般不会超过5台部署服务器,不会多于10个应用节点 热备和故障恢复机制、灾备系统 关注流程 工作流技术,尤其是分布式节点间流程整合 企业系统间的无缝转移 门户 跨系统,跨节点间的单点登录 技术运用以商业性产品为主 追求单节点稳定性 较少需要7*24小时支持 以商业性关系数据库为主要存储 比较严格的事务性访问 完全基于数据库事务 分布式事务(JTA) 较为复杂并且功能丰富的用户界面 用户具有相对统一的客户端(比如使用IE浏览器) 用户可以接受适当的响应和延迟 互联网系统架构及技术特点架构设计 以界面展现和用户体验为主要设计 大量运用Ajax实现局部提交和局部刷新 以轻量级、伸缩性为架构主要考虑 除某些平台级应用外,极少使用服务扩展 使用REST风格的WebService或者纯粹的处理Json的Web响应 数以百台甚至上万台PC服务器,多个数据中心,站点镜像 分布式独立域以及部署域之间定时通信 高性能缓存机制 双向页面缓存 内容静态化技术 数据缓存 非事务、非关系型数据库 全面NoSQL数据库 技术运用大量使用开源技术产品 LAMP: Linux + Apache + MySQL + PHP Tomcat, Lucene, Memcache 简单界面开发技术 脚本语言,如PHP, Python, Ruby等 对多种浏览器的支持 底层高性能处理优化 使用C、C++实现底层通信和IO优化 电子商务系统架构及技术特点架构设计关注数据的糅合(Mashup)关系数据库与高性能NoSQL数据库结合不固定的架构设计思路 可能偏互联网方向,也可能偏企业系统方向 分布式部署 事务缓存机制 事务迁移、事务恢复、事务批量处理 较为严格的安全机制 部分功能使用HTTPS及数字证书 与企业系统的对接交互 与银行、支付平台的对接 与企业订单系统、进销存系统、物流系统的对接 技术运用有时效的缓存机制 确保数据实时性与性能的平衡 大量数据挖掘和分析运用 相关性分析 定向推荐 部分运用商业中间件技术产品 应用服务器 业务流程管理 大量的开源技术运用 Java相关开源技术比较常见 本文转自 www19 51CTO博客,原文链接:http://blog.51cto.com/doujh/1812497,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册