0基础自学linux运维-2.28-小结:小公司运维基础技术结束

小公司电商架构一般发展

我这里所说的电商发展使用系统主要是用linux(以centos为主)的,非win,因为win收费,不开源做了很多限制,虽然有很多小公司用win各种破解版,要是别人告他一般都会赢。而且win也限制了运维的能力,所以win运维如果非高手级,在中国一般收入偏低。

小公司电商一般都是官网(最终目的是为了盈利,而非宣传)刚刚开始的时候的构架为:

初期架构(几台)

1)web:

一般是1台,一般选择nginx,apache太厚重,不太适合现时代。

如果是php类网站nginx+php(php-fpm)

如果是java web类网站一般用的是nginx+tomcat

2)数据库

一般是2台,一主一从,一般采用mysql/mariadb,也有的公司用mongoDB

注:有的为了省钱,连web和mysql都放在一台服务器的。或者web与数据库独立

这个时期的构架一般为:

LNMP:linux+nginx+mysql+php

LNMT:linux+nginx+mysql+tomcat

其中mysql也有的人会用mongoDB

3)缓存

一般为了减少压力会用到缓存,前几年用memcache多,现在用redis居多。

1.缓存网站使用频率比较高的数据,比如session、首页、高频繁搜索关键词、网址

2.缓存数据库数据,比如mysql数据,也是高频率使用数据。

4)版本管理

版本管理一般都用git,现在svn少部分公司在用,有的用github,有的会自建gitlab

如果这种几台服务器的小公司,一般不会招运维,开发兼职维护

当访问量人数增加了,发现服务器压力过大,那么一般会实现mysql读写分离。读写分离一般是开发在代码中实现。

访问量增加一台web承受不起了,在前面增加一个CDN,而并非增加多一台web,实现负载均衡。

发展期构架(几十台)

有几十台服务器维护一般有2种情况:

1. 公司项目多,要么是自己,要么就是外包的,但架构不变,也是初期的构架。

2. 单一个网站增加了,一台web承受不起,需要实现七层负载均衡、框架调整,业务划分、分库(也一样也用不到分表)

无论上面哪种情况,这时候一般都会用到运维,在初期构架上会添加一些东西,如

1)监控

一般会加入监控了,监控类zabbix比较多

2)web群集

一般使用nginx或haproxy反代+负载均衡,实现web群集功能

3)数据库群集

mysql数据库一般还是以主从为主,会做业务划分,一般是好几组主从

mongoDB数据库一般是副本集为主,也会分好几组,是按业务划分的

redis:主从,或者使用比如哨兵Sentinel、豌豆荚codis比较多

4)消息队列

比如像RabbitMQ、Kafka等消息队列也会用上

5)CI持续集成

有些公司开始会用gitlab CI+jenkins实现

注:jenkins教程可以看它的官网,是中文的 https://jenkins.io/zh/doc/或《Jenkins 2权威指南》

6)docker

为了更好的配合gitlab CI,快速搭建环境或部署,不少小公司会尝试使用主流的技术,docker就是比较火的一种,往往它会结合k8s

结语

此之前我以几十台机子为主的电商运维所要求的一般技术,做了环境搭建,从 《centos7最小化安装》、LNMP/LNMT、rysnc、vsFTP、mysql主从、mongoDB主从、负载均衡nginx/haproxy、gitlab等小公司的运维搭建都写完了

在第3系列写了 docker、ansilbe、saltStack,下一步发ELK、k8s

以上的知识基本上已经够小公司的运维用了,还有运维用的python我也有推荐书箱,靠自己学。

我只能带你最难的搭建部分、进阶可以看一下官方文档、书籍,深入一般分析一下设计、源码等,这些都靠你们自己了。

你可能感兴趣的:(0基础自学linux运维-2.28-小结:小公司运维基础技术结束)