基本上现在大型的软件都是搞分布式部署、分布式计算,生产环境最忌讳的就是单点故障,所以现在云计算、虚拟化得以大行其道,哪怕是一个简单的计算微服务,也应该最少要有2份以上的副本,而且较好是要求这些副本不同机器。
基本上现在大型的软件都是搞分布式部署、分布式计算,生产环境最忌讳的就是单点故障,所以现在云计算、虚拟化得以大行其道,哪怕是一个简单的计算微服务,也应该最少要有2份以上的副本,而且较好是要求这些副本不同机器、不同机架甚至是不同的数据中心,这样在发生意外时另外有效的副本可以马上接上继续工作,一个简单的服务尚且如此,更何况是重量级的web服务器和数据库服务器,部署在同一台物理机器上是及其不合理的
每个软件的专注的功能不同,必然导致它们对各种软硬件资源的利用效率不一样。web服务器主要是用来处理网络连接和资源请求的,因此要求就是高带宽,高并发,对CPU的要求其实不高,对内存的要求高,因为在这一层面需要缓存大量的信息以及线程池来追求速度,对磁盘IO要求不高,因此可以专门优化为大内存的多核服务器,结合具体使用的服务器(如Apache、Tomcat、Nginx等)做极致的优化,然而为web服务器所做的优化显然不适合数据库服务器。数据库服务器的主要职责是处理SQL语句,管理磁盘上存储的数据,要求大量的磁盘IO,对缓冲池要求极高,拿MySQL的Innodb引擎来讲,基本上较好内存的80%都分配给innodb_buffer_pool_size,用来缓存索引信息,磁盘脏页,临时表等,但是并发程度是远远低于web服务器的,比如对于一个秒杀系统而言,如果web服务器在1秒内收到了100万请求需要处理,而库存只有1万个,这时会落到数据库的请求就是非常多1万个,当然,生产环境中甚至不应该使用数据库来查这些实时数据。总结,web服务器和数据库服务器定位不同,优化点也不同,强行放一起会严重影响两者的性能
一般企业的数据库都是部署在内网,端口不会开放的,以防止黑客攻击,只能通过内网跳板机去访问,由专业的DBA管理,而web服务器是开放的,容易造成误操作或者被攻击导致数据损坏什么的
延伸阅读:
非关系型数据库(nosql ),属于文档型数据库。MongoDB采用类JSON的documents来存储数据。数据结构由键值(key=>value)对组成。
MongoDB采用动态数据模型schema,这意味着不需要预先定义表的数据类型和字段名。当MongoDB需要更新文档documents的时候,可以轻松增加新的字段名或者删除旧的字段。MongoDB让数据结构更加层级化,因而存储数组等复杂数据结构。 在同一个集合collection中,文档document对字段也没有强约束,因此更容易设计差异化的数据结构。
最后建议,企业在引入信息化系统初期,切记要合理有效地运用好工具,这样一来不仅可以让公司业务高效地运行,还能最大程度保证团队目标的达成。同时还能大幅缩短系统开发和部署的时间成本。特别是有特定需求功能需要定制化的企业,可以采用我们公司自研的企业级低代码平台:织信Informat。 织信平台基于数据模型优先的设计理念,提供大量标准化的组件,内置AI助手、组件设计器、自动化(图形化编程)、脚本、工作流引擎(BPMN2.0)、自定义API、表单设计器、权限、仪表盘等功能,能帮助企业构建高度复杂核心的数字化系统。如ERP、MES、CRM、PLM、SCM、WMS、项目管理、流程管理等多个应用场景,全面助力企业落地国产化/信息化/数字化转型战略目标。 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们微信:Informat_5 处理,核实后本网站将在24小时内删除。版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系邮箱:hopper@cornerstone365.cn 处理,核实后本网站将在24小时内删除。