蘑菇博客(MoguBlog),一个基于微服务架构的前后端分离博客系统

blogx1年前 ⋅ 2428 阅读

https://github.com/moxi624/mogu_blog_v2

蘑菇博客(MoguBlog),一个基于微服务架构的前后端分离博客系统。Web端使用Vue + Element , 移动端使用uniapp和ColorUI。后端使用Spring cloud + Spring boot + mybatis-plus进行开发,使用 Jwt + Spring Security做登录验证和权限校验,使用ElasticSearch和Solr作为全文检索服务,使用Github Actions完成博客的持续集成,使用ELK收集博客日志,文件支持上传七牛云和Minio,支持Docker Compose脚本一键部署。

【 博客前端演示地址】 http://demoweb.moguit.cn/

【社区版前端演示地址】 http://w.moguit.cn/

后端账号密码不放出来不够开源,差评

现在是开源blog系统满天飞啊,数量不可谓不多,但好用的特别少

这个架构图我好像在哪看过,是直接processon模板改的吧?

博客这名字容易让人误解

看这架构你要说是博客那妥妥的大炮打蚊子

但你要说是仿简书、博客园、csdn 那就没问题了

@ixx  是的,复杂是难免的,因为希望一套架构能同时支撑个人blog和多人blog,包括服务治理和监控,包括未来数据量大了扩展性等问题

@blogx  不如搞两套系统简洁,personal blog(个人博客)、multi-person blog(多人博客)

使用了这么多技术栈,楼主不觉得维护成本太高了吗?just a blog

有哪些使用场景?

蘑菇博客是一个基于微服务架构的前后端分离博客系统,它适用于多种场景,包括但不限于以下几种:

1. 个人博客:对于对技术有所涉猎的个人而言,可以使用蘑菇博客来创建自己的个人博客,记录自己的成长历程、技术心得等内容。

2. 团队博客:对于一个技术团队而言,可以使用蘑菇博客来创建团队博客,集中发布团队成员的技术博客。

3. 企业内部知识管理:对于一家企业而言,可以使用蘑菇博客来搭建一个企业内部知识管理平台,集中管理公司内部的技术、产品、运营等方面的知识内容,方便企业内部的交流和合作。

4. 教育培训机构:对于一家教育培训机构而言,可以使用蘑菇博客来创建一个在线学习平台,集中发布教师们的教学笔记、课件等内容,方便学生在线学习。

5. 社区性质的网站:对于一个社区性质的网站而言,可以使用蘑菇博客来创建一个社区博客平台,方便社区成员发布自己的博客内容,同时也可以方便管理者对博客内容进行管理和审核。

总的来说,蘑菇博客适用范围较广泛,可应用于各行各业的技术交流、知识分享、学习教育等场景。

有哪些类似的项目?

以下是几个类似的基于微服务架构的前后端分离博客系统:

1. Hexo:一个快速、简洁且高效的静态博客框架,基于 Node.js 编写。易于使用,支持 Markdown 格式、MWeb 格式和HOEDOWN格式。

2. Jekyll:一个简单的、基于 Ruby 的静态博客生成器,可用于构建包含文章、页面、分类、标签等内容的博客。

3. WordPress:一个全球领先的开源博客系统,支持个性化主题、插件等定制功能,可以灵活地扩展博客的功能。

4. Ghost:一个简洁、易用、开源的博客平台,可以帮助你创建和发布自己的博客,支持 Markdown 编辑和自定义域名。

5. Hugo:一个轻量级的静态网站生成器,用 Go 语言编写,支持丰富的主题、插件等功能,速度快、易于部署。

6. Gatsby:一个基于 React 的静态网站生成器,支持 Markdown、HTML、JSON 等多种数据源,具有快速构建、高速渲染的特点。

7. Blossom:一个用于构建博客和网站的静态站点生成器,基于 Python 编写,可以根据提供的主题和模板进行构建。

8. VuePress:一个基于 Vue.js 的静态网站生成器,支持 Markdown、自定义主题等功能,是一个适合写技术文章的博客框架。

有哪些优缺点?

优点:
1. 高可靠性:微服务架构可以将应用拆分成多个小型服务,如果某个服务出现故障,不会影响其他服务的正常运行。
2. 模块化:将应用拆分成不同的服务,每个服务只关注自己的业务逻辑,易于维护和更新。
3. 可扩展性:通过增加或减少服务实例,可以调整应用的性能和容量,以应对不同的业务需求。
4. 高并发性:每个服务都可以独立部署,可以通过增加服务实例的方式来实现水平扩展,提高应用的并发能力。
5. 符合开放原则:前后端分离可以让前端和后端开发团队独立开发,提高开发效率,同时也符合开放-封闭原则。

缺点:
1. 复杂性:微服务架构需要将应用拆分成多个小型服务,需要进行服务之间的治理和管理,增加了系统的复杂度。
2. 网络通信:微服务架构需要通过网络通信来实现服务之间的调用,会增加网络延迟和通信成本。
3. 需要配套的工具和技术:微服务架构需要使用一系列工具和技术,如服务发现、负载均衡、容器化等,需要投入一定的时间和资源进行学习和实践。
4. 安全性:微服务架构需要考虑服务之间的安全性问题,如认证、授权等,需要投入一定的时间和资源进行规划和实施。

全部评论: 0

    相关推荐