嘿~ 基于分布式架构的技术交流社区(WhiteHoleV0.7)即将竣工!

Posted Huterox

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嘿~ 基于分布式架构的技术交流社区(WhiteHoleV0.7)即将竣工!相关的知识,希望对你有一定的参考价值。

文章目录

前言

拖更,拖延了这么久,耗时超过3个月的项目,WhiteHoleV0.7 版本即将迎来最后的收尾工作。当然考虑到服务成本,和开发进度,目前只完成了预期的80%左右的工作。说来惭愧,原先的计划是在去年9月份中旬开始进行编写,预计开发周期为一个月,但是由于各种各样的事情,导致并未按照进度完成服务的搭建。

于2022年12月份几乎停止编写,届时工程代码总量约为(仅统计:java+vue代码数,不含空格,注释)4.5W。于1月7日正式重启项目(是的有关于WhiteHole项目相关技术的博文都是以前的工作)截止到今日,约提交2W行代码(统计方式同上)。是的,相当长一段时间确实是在“划水”。

项目介绍

WhiteHole

whitehole是一个由Huterox团队开发的致力于社区交流,知识共享的社区交流平台。同时也是Huterox本人用于技术成长的中型项目。

期望

我们希望这个项目是最终用于上线的WhiteHole项目,作为用于记录成长的开源项目。我们期望这个项目将成为一个优秀项目,未来也期望得益于分布式架构,我们将基于Python实现用户推荐模块,同时将基于NLP实现WhiteHole智能助手。

立项

本项目从Huterox在大学本科阶段二年级就开始筹划,技术栈从基于Python的Django体系至基于SpringBoot+vue的体系,到如今的基于分布式微服务构建的体系。当前历经了3个技术版本的迭代,前两次均为技术验证,本次为第三次,同时通过基于SpringCloud/Alibaba 的微服务技术来实现分布式架构。

不同版本之间的区别如下:

  1. Django版本,基于Python 采用MVT设计模式,纯原生html css js开发
    项目地址:https://gitee.com/Huterox/WhiteHole

  2. SpringBoot+vue 版本,采用前后端分离模式设计,主要亮点在于前端。
    项目地址:https://github.com/Huterox/WhiteHoleBoot

  3. 当前版本,使用分布式架构完成基本服务搭建,地址:暂未开放。

作者

Huterox

csdn地址:[https://blog.csdn.net/FUTEROX](https://blog.csdn.net/FUTEROX)
邮箱: 3139541502@qq.com

功能/模块简介

从功能模块上进行划分我们可以大致分为几大模块:

用户模块

首先对于用户模块,这里没有什么好说的,和我们正常的网站,应用类似,登录,登出,注册,第三方登录(支持QQ和微信)等等。

目前没有做一些流量统计之类的,在未来可以加上。
预览图如下:
首先这是个人主页:

之后是我们的个人中心:
在这里包含了大量的管理模块。

问答模块

这个问答模块其实与知乎是类似的,用户可以提问,之后别的用户可以进行回答。

问题展示页面

之后点击具体的回答,可以查看到回答的内容:

之后对这个回答进行点赞,收藏,评论等操作。同时对应问题的回答,我们支持Markdown,并且无需任何转换(知乎的需要第三方工具转换)

对于这一来互动操作,当用户在线时,我们将通过消息服务器将此类消息进行通知,作为提问者可以知道自己的提问有回答,作为回答者可以知道自己的回答有评论,收藏之类的操作。

是的,我们的消息提示也是有角标标红的,这一功能与其他类型社区类似。

社区模块

社区是WhiteHole社区的基本内容单位,我们鼓励用户可以创建自己的社区,并为社区提供内容。社区内暂时包含了博文和问答模块。

同时对于创建者而言,我们给予其尽可能做的权限。
在个人中心中可直接进入社区管理界面:

社区管理界面如下:

值得一提的是,WhiteHole本身是最大的默认社区,如果你选择在非社区页面发布提问,发布博文。那么默认发布在WhiteHole本区中。他们的关系如下:

此外,由用户创建的社区中,不具备对博文的删除权限,但是具备对博文的审核以及移除社区的权限,当对某一篇文章或者提问,进行移除时,将会将属于当前社区的内容,移至WhiteHole当中。WhiteHole中响应的博文审核,等等操作由WhiteHole管理员负责:
如图所示:

同时为了减少人力成本。对于内容的审核,优先由 响应的算法进行初步审核,我们将算法判断的结果分为三分等级:

博文模块

博文模块是最为特别的模块,同时也是我所期望的以内容为推动的表现形式。对于博文,我们不屑于低质量,存在抄袭嫌疑,营销嫌疑的文章。同时对于一篇好的文章,应该是能够汲取广大读者建议并修改的。因此对于博文模块,我们引入了这一机制:

我们引入了如下如下机制:Fork,合并,日志,贡献墙。

当读者觉得这篇文章需要进行修改,或者略有不当时,期望能够帮助作者完善博文时,可以选择fork本篇文章,之后,在个人中心可以看到作为读者所fork的文章:

对于已fork的文章,可以选择取消fork,也可以选择进行提交,提交时将进入编辑页面,完成博文的修改。

之后对于博文作者而言,他将接收到对于的通知,同时可以进入到合并页面,查看读者们的提交:

当点击到具体的提交时,将进入对比,修改处将进行高亮

点击确定合并,将再次进入编辑页面:

最终完成合并,此时该读者,将成为博文的贡献者,并展示对应的日志:

是的通过这一机制,我们期望可以提高社区内文章的质量,同时提高用户间的互动,交流需要的不仅仅是读者,同时也需要参与讨论者。我们鼓励,也期望用户通过这种方式进行二次创作,而非进行盗版,抄袭。同时在未来,举报机制也将提出日程。

Next

之后是对于接下来的工作,尽管当前我还没有完成基础服务开发,但是仅剩下搜索服务的编写,这里我们将引入ElasticSearch完成搜索功能。之后是对于技术上的升级,推荐模块以及我们的WhiteHole网页智能助手:

以及对于可能的盈利方案,是的,当前对于这一块依然是模糊的,但我期望它可以实现 :Balance of income and expenditure.

以上是关于嘿~ 基于分布式架构的技术交流社区(WhiteHoleV0.7)即将竣工!的主要内容,如果未能解决你的问题,请参考以下文章

阿里专家讲中台:技术中台-分布式架构在蚂蚁金服的实践

重磅:虚拟化交换机性能优化探讨实录@KVM社区实名制群

程序猿开发大牛成长记 | 龙果社区有奖征文活动

汽车之家社区从传统商业数据库到开源分布式数据库的架构变迁

Java Web架构演进与技术思考

扩展国产数据库生态,巨杉技术社区与恩墨学院建立全面合作