一直以来感谢您使用Nuita

这次,Nuita对内部系统进行了大规模革新。由于此次改动主要是“幕后”的改进,外观上的变化较少,但这是为今后稳定运营和功能增加打下的重要基础。

框架与库的更新

我们将驱动Nuita运行的Web框架“Ruby on Rails”更新到了最新版本8.0.4。这样一来,可以应用安全补丁,并期待更稳定的运行表现。

此外,我们还将前端构建系统从Webpacker迁移到了新的机制,使JavaScript和CSS的处理速度更快。Bootstrap等npm包也已更新至最新版本。

摆脱AWS服务,简化系统

此前,Nuita一直通过组合使用Amazon Web Services(AWS)的各种托管服务来运行。但为了降低运营成本、提升可维护性,我们迁移到了更简洁的架构。

  • 废除Elasticsearch:我们废除了曾用作全文搜索引擎的Elasticsearch,改用MariaDB的全文搜索功能。搜索体验没有太大变化,但基础设施的复杂度大幅降低。

  • 变更任务队列:我们将后台任务处理基础设施从AWS SQS + Shoryuken迁移到了delayed_job。发送通知等异步处理如今以更简单的机制运行。

  • 废除DynamoDB:我们废除了此前部分数据存储所使用的NoSQL数据库(DynamoDB),并将其整合进RDBMS。数据一致性得到提升,查询优化也更容易了。

  • 废除Docker/Capistrano/Selenium:开发、部署、测试环境也得到了简化,减轻了维护负担。

路由与控制器的整理

我们明确区分了未登录状态(公开)与登录后状态(member/以下)的URL命名空间。统一采用RESTful的资源设计,使今后的功能增加和API完善更加容易。

新增公告功能

我们新增了用于显示运营方公告的Announce模型。今后如有重要公告,将能够在站内进行传达。

撸文的日期变成了永久链接

撸文(帖子)上显示的日期现已变为链接,点击即可跳转到该撸文的独立页面(永久链接)。当您想分享特定帖子时会很方便。

结语

这次改动在表面上并不十分显眼,但这是为了偿还技术债务、让Nuita今后运营得更加稳定而进行的重要重构。

如有任何问题,请通过咨询表单与我们联系。今后也请继续支持Nuita。