php发展

首页 » 常识 » 问答 » 工具系列从零开始搭建创业公司技术架构
TUhjnbcbe - 2021/5/30 16:08:00
白癜风好得了吗 http://baidianfeng.39.net/qzzt/bdfnzhm/
从零开始搭建创业公司技术架构

创业公司由于时间、人员、资金等各方面的限制,系统需要的各个组件优先选择第三方服务,而不是自己搭建。一个创业开发项目都需要服务器操作系统、开发语言、web服务器、开发框架、数据库、缓存、静态文件存储、日志系统、业务监控、持续集成、代码管理、发布部署系统、文档管理等。现在按这些方面展开来讲。

服务器操作系统

服务器可以使用云服务器,像阿里云的ECS。对于面向国外的应用,则优选选择AmazonECS。所有的服务器都选择一种操作系统版本,一般都选择Linux内核的操作系统,像Ubuntu、CentOS。Ubuntu的软件源比CentOS的软件源更新些,一般情况下选择Ubuntu。服务器硬件使用大致相同的配置,后面根据配置扩展。

开发语言

对与创业公司来说,时间是很重要的,所以我们要选择团队容易上手的开发语言便于快速迭代。一般来说,php和go语言都是不错的选择。

数据库

对于关系性数据库,首选mysql,可以选择阿里云的RDS提供mysql服务,减轻DB管理工作。

开发框架

对于开发框架的选型,我们需要考虑:

框架是否完善,支持分布式、包含常用的像日志、缓存等组件,性能优越

团队成员需要有非常熟悉该该框架的同事,需要能掌控框架

框架使用广泛,有活跃的社区支持

对于php我们可以选择laravel/tp/yii这样的开发框架,注意需要各个项目都统一使用一种框架,便于同事专注于业务开发,掌握业务中需要用到的技术。

web服务器软件

web服务器软件有nginx、apache、tomcat、iis等。现在nginx广泛使用,nginx可做后端服务器的反向代理、负载均衡、静态图片缓存,以及可使用lua扩展nginx。

LB(负载均衡)

LB(负载均衡)是一个通用服务,一般云厂商的LB服务基本都会如下功能:

支持四层协议请求(包括TCP、UDP协议);支持七层协议请求(包括HTTP、HTTPS协议);集中化的证书管理系统支持HTTPS协议;健康检查;如果你线上的服务机器都是用的云服务,并且是在同一个云服务商的话,可以直接使用云服务商提供的LB服务,如阿里云的SLB,腾讯云的CLB,亚马逊的ELB等等。如果是自建机房基本都是LVS+Nginx。

缓存

对于热点数据需要使用缓存,减轻服务器的压力。现在Redis等内存缓存广泛使用,可以选择像阿里云的数据库Redis版。

静态文件存储

静态文件像图片、视频等文件比较耗磁盘资源,并且耗带宽,需要有磁盘更大、带宽更便宜服务器做这件事。可以自己搭建fastdfs集群做这件事,但比较麻烦。现在很多公司都选择像阿里云OSS、又拍云、七牛云这样的服务。如果使用阿里云的OSS的话,搭配阿里云的ECS、CDN就比较方便。

CDN

使用CDN分发内容,使用户访问比源节点,提高用户访问速度。对于有很多小的静态文件、html文件、视频文件、图片文件的应用效果非常好。CDN可以选择阿里云和腾讯云。

日志系统

日志对于排除应用故障非常有帮助,简单的应用通过打印文件就可以。然后通过ELK组件做收集存储展示。在php中可以使用Seaslog输出规定格式的日志,然后再用ELK。

业务监控

我们平常做的简单的监控是,在系统异常或者错误时,通过企业

1
查看完整版本: 工具系列从零开始搭建创业公司技术架构