互联网系统运营部署,维护

本人不是专职的运维人员, 本文将自己理解的运维技术知识做个梳理。以便

自己记忆和回顾。

现在的 互联网系统是越来越复杂,而且要求系统  7x24 小时不阶段的运作。

对于大型的互联网公司,系统更是错综复杂。 越复杂的系统,越要求简单的耦合,

能够最小化的切分。 统一输入输出, 这样系统才能做的庞大,而不显的复杂。而

且需要能够方便的水平的扩容。

一般系统架构都是随着业务,慢慢的迭代,不断重新架构适应扩张。按照我的理解

是农村的小路不要按照单向 4 车道来修。 而作为江浙沪的高速, 就不能按照单向 2

车道的标准来修。

不同的业务要求,配置不同系统架构, 也就需要不同的运维技术。  因此,首先要

明白系统需求,对系统需求进行分类梳理。

系统分类:         
         静态门户网站         
         企业内部MIS系统         
        简单的新闻/blog/商城系统

        复杂的新闻/blog/商城系统

         千万/亿级的应用

一个静态网站,维护很简单。   一般公司委托外面公司设计,开发,部署,一条龙服务。
顺带需要买个域名,买点空间。 放置在阿里云/腾讯云上。 一般静态网页不会出现访问问题。
不多废话。

到了企业内部的MIS系统, 一般企业都会有网管负责。这里说的企业的MIS系统包括 OA,
进销存,ERP, 信息化业务系统。   轻量一点, 就是一个数据库 + 一个web服务器。有时候
会放在一台机器上。  运维人员做的事,也就是保证服务器不宕机,数据库及应用服务程序,
启动关闭, 最重要的是不能让数据丢失。  这一层面,可能更多的工作量。 是教其它业务人
员,怎么使用使用系统。     随着业务的增加, 数据的安全要求会提升到一个高度,因为一次
数据故障的恢复,就会让整个业务上产生不小的影响。  因此, 磁盘的存储形式,会从单机向
阵列, 向云方式转变。 数据库会做主从,以便快速恢复。  web服务器 会从单台转变为多台
用负载均衡来平衡。

企业内部的MIS系统, 一般不会不会放在外网和云上。 原因有两点:1 历史传承, 2 数据安全。
比如一个商场的收银系统, 比如一个生产型企业的 进销存系统。 这些数据如果放在云上,多少
有些不放心, 他们会基于原先的服务器,扩建为机房,统一管理。  可以放置企业内部网络设备。
服务器组,支持企业的信息化运作。   他们可能会采用  EXSI 这些技术来实现硬件虚拟化,能
够快速的提供虚拟服务器,支撑业务的扩展和收缩。 医院,学校,政府等这些行业,事业都会
用到这些技术。   网络规划,机房规划管理 也是他们运维的重要工作之一。

再说互联网, 一般互联网系统无非分:前端界面(面向用户), 后台管理(面向内部管理人员),
接口服务层(面向前端和后台管理),数据库。 这四个层面。

到了移动互联网后,就是:app 或 微信公众号(小程序), 后台管理,接口服务层,数据库。

运维的工作内容主要是申请云服务器,部署各个应用。搭建系统监控,确保这4个部分能够7x24
小时运作, 如果出现故障,最短的时间发现, 最短时间修复。  根据业务需要不断迭代升级前端,
接口服务层。

面向的东西主要是:
各种 js 框架,   .net  ; 比如  React ,  jq  等等。
服务器: tomcat ,  jboss,  nginx,   apache  , 
基础语言环境: node.js   ,  python . java .   net  等
数据库:  mysql, oracle,  mongo,  redis 等

运维的工作不会涉及开发, 但是需要了解  对应项目实现的语言实现的运行环境。 从而能够进行
部署,维护(启动,关闭,升级)。
运维需要了解 各种web服务器的配置项   都是做什么用, 怎么配置这些参数来确保  web服务器的性能。
运维需要了解 各种数据库的安装, 启动, 关闭。 数据备份。   规模大的企业 有独立的数据库管理员做。

这个级别的应用, 负载均衡,集群的需求会冒出来, 只要量一上来,就需要做这些事情。

如果有了一定的业务量, 各种应用,包括前端和接入层(web api) . 均会逐渐采用  docker  方式。因为
docker 方式,部署第二台新机器; 不需要安装 软件运行环境,只需要更新代码。  这样,部署,扩容一台
新服务器,仅仅需要几分钟的事情。     几个应用装在一台机器上, 也就 一个机器 多个  docker 的事情。 
很清晰明了,便于管理;  而一个实例机器装 直接几个应用,这种方式 就显得很复杂。

再随着业务的增加, 会用到  k8   , swarm    +  docker hub 这种部署方式, 这两种技术是面向集群(服务)
的部署方式。   先创建集群(把一组主机捆绑在一起),  再创建服务,一个服务即一个应用,可以是 ui,  也
可以是api , 也可以是 socket ,  而这个服务后面 是多个  docker 容器组成的负载均衡。

这样就可以很轻松的实现扩容和缩减(几秒内), 还可以用自动化脚本动态的去管理缩减和扩容。
到了这个程度, 基本上公司的业务 在飞速发展。       主要的工作量 就是写很多的脚本, 准备很多的 docker file   .

千万级,亿级的系统, 均是由于业务量的暴增, 最频繁的,最瓶颈的业务不得以拆分出来。 用一些缓存技术,
确保业务低延时。  多了中间层,  业务 垂直拆分。  导致系统,层次增加, 垂直系统增加。 而运维,面临的

更多的是管理问题。 管理系统的架构, 也管理运维的团队。  而技术无非以上这些。

原文地址:https://www.cnblogs.com/xiaoxuebiye/p/10064061.html

时间: 2024-10-07 10:58:57

互联网系统运营部署,维护的相关文章

在非洲运营互联网系统-自建短信猫踩的坑

?短信,是我们在非洲运营系统唯一需要本地化考虑的模块,之前写<在非洲运营互联网系统-基础建设>也介绍了部分短信建设的历程,目前我们的短信方案已经成熟,这里专门分享一下,可能不是最优方案,但还是可以供相互借鉴. 2018年12月份前,我们是采用的自建短信设备完成销售用户短信通知,期间也尝试找当地运营商渠道,并没有实质性的进展.同时第三方服务商的报价也结合预计业务量算了下,非常不划算(和自建单价对比).自建过程中也一直在想其他方案. 下图是我在去非洲考察前,在淘宝买的可以插单张SIM卡的短信设备(

在非洲运营互联网系统-系统研发历程(中)

一代版本一代神,代代版本削宫本.---图片源自网络 2018年3月底,随着系统陆续上线发布和业务推进,我们又带着新问题再次踏上非洲大陆<非洲考察的经历-5-尼日利亚华企拜访>. 回国后,公司又外派了市场.销售.物流.技术等常驻员工,开启系统运营模式. 4月初,研究了业界各大标准仓储(WMS)系统流程,并对从国内生产出厂.到海关.尼日利亚清关.入库等整个全流程做了推演,确定了WMS系统需求和功能列表,并正式立项研发. 同时也参观了工厂,熟悉了整个生产流水线各环节运作流程和输入输出. V1.0版本

智慧能源互联网系统建设能耗监测大数据平台开发

智慧能源互联网系统建设能耗监测大数据平台开发构建多能互补的能源互联网,是解决能源安全.环境污染和气候变化的重大举措,是世界能源发展的必然趋势,是安全.清洁.高效.可持续发展的必由之路.智能电网与能源互联网创新服务平台建设,以四川为例,一是促进了相关新技术和实用技术在能源互联网的应用.项目形成了非接触式三维磁场测量仪.智能电网智能变电站二次系统测试系统.交流充电桩.智能楼宇管理系统.电力大数据分析平台等系列产品:二是项目通过将智能电网与能源互联网相结合,在设备的自动化程度非常高的前提下,融入智能控

用fabric部署维护kle日志收集系统

最近搞了一个logstash kafka elasticsearch kibana 整合部署的日志收集系统.部署参考lagstash + elasticsearch + kibana 3 + kafka 日志管理系统部署 02 上线过程中有一些环节,觉得还是值的大家注意的比如: 1,应用运维和研发人员要讨论一下日志格式的定义, 2,在logstash取日志和消费端logstash消费日志麻.过滤日志的时候怎么要高效,避免服务本身告成系统压力过大,如果每天要处理过亿日志量,性能不注意,哈哈,可以使

Redis安装部署维护

Redis是个高性能的key-value数据库,它的key具有丰富的数据结构:string,hash,list set和sorted set.作为NOSQL,比起memcache之类,不仅仅key数据结构丰富,而且具有持久化的功能,并且能够支持主从复制,很方便构建集群. redis高性能很大程度上源于它是个内存型数据库,它的高性能表现在:set操作11w/s,get操作8.1w/s,与其他类型数据库性能差异,可以 而参考:http://timyang.net/data/mcdb-tt-redis

部署维护docker环境

其实前面已经用salt,安装部署了docker应用环境了,过程中还是遇到了不少问题,所以这里再相对仔细的记录一下,docker手机安装过程应注意的事情 安装过程部分参考了刘天斯大师文档部署 1,安装环境说明 系统环境:centos6.6 服务应用了: haproxy confd etcd docker 主机名 ip 服务角色 dockerha-152 192.168.36.152 haproxy confd dockerEtcd-153 192.168.36.153 etcd dockermai

oracle项目部署维护最常用sql语句

大家好,这是小编我整理的 每次开发完项目到现场部署服务器时最常用到的一些oracle数据库sql语句,希望能帮到大家. -- 创建数据表空间 create tablespace pssts logging datafile 'D:\oracle\product\10.2.0\oradata\orcl\pssts.dbf' size 10m autoextend on next 10m maxsize 20480m extent management local; -- 新建用户并指定表空间 cr

互联网系统的通用架构笔记

接入层session设计原则: 1.Session—读写请求使用的上下文对象,称之会话. 业务总有状态的:用户下单购买.登录状态.好友状态.消息发送情况等: 这些有状态的信息随用户操作变化. 单机环境下: 不存在session共享问题: 处理简单: session保存在内存: 高可用不能保证(进程挂掉.宕机.session丢失不可用). 集群设计: --session复制: 所有接入层服务器之间同步session数据: 每台接入服务器都保存用户全量的session数据: 用户只需访问一台机器,获

redis集群部署之codis 维护脚本

搞了几天redis cluster codis 的部署安装,测试,架构优化,配合研发应用整合,这里记一些心得! 背景需求: 之前多个业务都在应用到redis库,各业务独立占用主从两台服务器,硬件资源利用不合理,主从架构冗余度不高,主redis故障的话,从redis恢复需要时间,降低业务的可用性, 所以调研测试部署了基于codis的redis集群. 官方地址 部署文档 参考这里redis cluster安装部署 维护管理 了解过codis的同志都知道codis集群组件服务启动有一定顺序的,而且基本