|
|
|
|
| 编号 | 作者 | 发表时间 | 变更时间 | 版本 | 状态 |
|
|
|
|
|
| ----- | ----- | ----- | ----- | ----- | ----- |
|
|
|
|
|
| 001| 北野 | 2022-11-04 | 2022-12-18 | v0.2 | 提议 |
|
|
|
|
|
|
|
|
|
|
## 概述
|
|
|
|
|
paopao-ce是一个清新文艺的微社区,提供类似Twiter/微博的推文分享服务。paopao-ce的运营形态有点类似Wordpress,只不过Wordpress是使用PHP语言开发的博客平台,提供的是博客服务,而paopao-ce提供的是类似Twitter的推文分享服务。paopao-ce 让 **个人或小组织** 可以快速、方便的部署一个提供**推文分享服务**的小站点,在有限范围内形成一个友善的社交小圈子微社区。
|
|
|
|
|
![](.assets/001-01.png)
|
|
|
|
|
|
|
|
|
|
## 从运维角度思考
|
|
|
|
|
|
|
|
|
|
| 实例部署 | 站点部署 |
|
|
|
|
|
| ----- | ----- |
|
|
|
|
|
| ![](.assets/001-02.png)| ![](.assets/001-03.png) |
|
|
|
|
|
|
|
|
|
|
部署paopao-ce实例 数据存储需要使用 关系数据库、对象存储、搜索引擎、缓存;paopao-ce支持多实例部署,具体文档请参考[deploy](../deploy/)。
|
|
|
|
|
#### 关系数据库
|
|
|
|
|
* 本地(Native) - 部署 MySQL/PostgreSQL或者paopao-ce内嵌Sqlite3数据库
|
|
|
|
|
MySQL/PostgreSQL 可以采用 一主多从+备、一主+备、多主+备 的模式部署,具体部署方式由运维者决定,paopao-ce本身不关心 关系数据库 的部署方式,仅仅使用标准的方式连接关系数据库使用其数据存储服务。
|
|
|
|
|
* 云关系数据库 - 部署 云关系数据库
|
|
|
|
|
阿里云、腾讯云、华为云都提供云关系数据库服务,如何开启服务请参考相应文档进行部署。paopao-ce采用标准方式连接其相应的数据库使用数据存储服务。
|
|
|
|
|
|
|
|
|
|
#### 对象存储
|
|
|
|
|
paopao-ce使用对象存储服务存储 图片/视频/附件 等推文资源。
|
|
|
|
|
|
|
|
|
|
* 本地(Native) - 部署OBS(Object Blob Storage System)
|
|
|
|
|
目前开发环境可以使用`localoss`功能提供简单的OBS服务, 也可以自行部署[MinIO](https://github.com/minio/minio)来提供对象存储服务。
|
|
|
|
|
* 云对象存储服务
|
|
|
|
|
阿里云、腾讯云、华为云都提供云对象存储服务,如何开启服务请参考相应文档进行部署。
|
|
|
|
|
|
|
|
|
|
#### 搜索引擎
|
|
|
|
|
paopao-ce目前支持 使用[Zinc](https://github.com/zinclabs/zinc) /[Meilisearch](https://github.com/meilisearch/meilisearch) 提供推文搜索服务,搜索引擎实例的部署请参考相应官方文档。
|
|
|
|
|
|
|
|
|
|
#### 缓存
|
|
|
|
|
paopao-ce目前支持Redis作为缓存存储引擎提供缓存服务,请参考Redis官方文档进行实例部署。
|
|
|
|
|
|
|
|
|
|
## 从人文角度思考
|
|
|
|
|
现在的互联网世界已经非常精彩,各种社交媒体平台琳琅满目,使用体验也非常友好。每个社交平台都有自己的运营方式,都有自己的核心用户群体,也有自己的产品灵魂,都在不断的进行生态演进。比如Twitter、微博都已经从最初的推文分享服务演进到一个成熟的传媒平台,注册用户非常庞大,日均访问PV也是一个惊人的数字,这就注定了平台的运营思维是多维度考量均衡的结果,只能做到让用户群体的大多数人用户体验友好,并不能满足所有人的需求。大平台有大平台的运营模式,小站点有小站点的维系空间。对于类似Twitter这样的推文分享服务,paopao-ce提供一种小站点部署模式,采用类似WordPress的运维模式,让 **个人/小组织** 能快速、便捷的拥有一个提供推文分享服务的小站点,以填补那些在大平台下难以享受到的用户体验,享受小圈子内的自由空间。
|
|
|
|
|
|
|
|
|
|
就像许巍唱的「曾经的你」这首歌中所说:"曾梦想仗剑走天涯~ 看一看世界的繁华~ 年少的心总有些轻狂~ 如今你四海为家~ ......" 曾经的你我也在 疯狂刷朋友圈、狂奔微博空间、畅游Twitter世界,但是随着环境的改变、岁月的洗礼、心路的淬炼后,你我可能已经不复当年的热情,逐渐淡出朋友圈、沦为微博的稀客,或许Twitter世界还有点吸引力,但是总感觉表达的欲望不复从前了。是什么原因变成这样的呢,原因可能很多,也各自有自己的不同情形所至于此。但是总归一条,那就是 **自由**; 如果有那么一个有限空间内,可以自由的 *唠唠叨叨、怼天怼地亦或自言自语*,你我是否又能燃起表达的激情呢?!从这个角度来说,paopao-ce就很契合这种需求,曾经你我想拥有一个自己的博客小站点而使用WordPress,那么今天想拥有一个自己的类似Twitter的推文分享服务小站点,部署paopao-ce或许也是一个不错的选择。
|
|
|
|
|
|
|
|
|
|
一个产品应该有一个**属于自己的灵魂**,可以说 paopao-ce的宗旨就是 **打造一个清新文艺的微社区**。
|
|
|
|
|
|
|
|
|
|
## 疑问
|
|
|
|
|
|
|
|
|
|
1. paopao-ce是一个清新文艺的微社区,微社区的 `微` 是如何界定的?
|
|
|
|
|
* 首先从站点用户流量层面,paopao-ce的部署一般针对的是小站点,注册用户不是很多,用户流量(QPS)也不会很高,这种情形本身很契合paopao-ce对自身微社区的服务定位;
|
|
|
|
|
* 从代码实现层面思考,在数据存储层面的架构设计中已经假定paopao-ce提供服务的QPS不会很高,因此不会考虑类似数据库 **分库分表** 这样的设计优化来应对数据库CRUD的流量冲击,对站点推文数据的总容量也假定是单个SQL数据库提供满足查询需求的数据容量极限。
|
|
|
|
|
2. 如果一个paopao-ce部署站点运营一段时间后QPS逐渐提高到一定程度,目前架构的paopao-ce无法满足进一步的用户流量冲击,是否会采用分布式技术栈进行优化?
|
|
|
|
|
不会。paopao-ce将保守的采用目前的单体架构模式提供极致的QPS用户体验,如果确实需要超高QPS需求的实例部署,将另起炉灶开发另一款相应的产品,或许会采用云原生的分布式技术栈生态进行架构设计,这将是另一个paopao产品的故事序章了(前提是paopao能火出圈)。
|
|
|
|
|
3. paopao-ce主要针对哪些站点运营者?
|
|
|
|
|
其实paopao-ce的运营形态有点类似WordPress,只不过WordPress是使用PHP语言开发的博客平台,提供的是博客服务,而paopao-ce提供的是类似Twitter的推文分享服务。paopao-ce 让 **个人或小组织** 可以快速、方便的部署一个提供**推文分享服务**的小站点,有限范围内形成一个友善的社交小圈子微社区。
|
|
|
|
|
|
|
|
|
|
### 更新记录
|
|
|
|
|
#### v0.0(2022-11-04) - 北野
|
|
|
|
|
* 初始文档,先占个位置
|
|
|
|
|
|
|
|
|
|
#### v0.1(2022-12-17) - 北野
|
|
|
|
|
* 添加部署结构示意图
|
|
|
|
|
|
|
|
|
|
#### v0.2(2022-12-18) - 北野
|
|
|
|
|
* 添加部分内容
|