Logo
Section 1 / 9

入门

了解不纯服务的构建模块。

导入

入门

了解不纯服务的构建模块。

使用的库

让我们依次介绍项目中将使用的各个库,并简要说明每个库的功能。这一点非常重要,因为这些库及其提供的功能将共同构成我们服务的基础组件。

我们的服务的基础组件
我们的服务的基础组件

1. Akka

使用 Akka,我们可以构建高并发、分布式且具备容错能力的消息驱动应用程序,适用于 Scala。我们还将使用 Akka-HTTP,它提供完整的服务器端和客户端 HTTP 支持;同时使用 Akka-Streams,用于安全地构建流处理架构。

2. Slick

Slick 将作为我们的数据库访问层。我们选择它主要是为了简化开发工作,因为可以使用 Scala 编写数据库查询,而无需使用 SQL。

3. Flyway

我们将使用 Flyway 进行数据库迁移。数据库迁移能够以确定性的方式从当前数据库版本升级到新版本。Flyway 按版本号存储迁移脚本,并可自动执行更新。

4. Circe

Circe 是 Scala 的 JSON 处理库,基于 Cats 构建,仅依赖于 Cats。此外,我们还将使用 akka-http-json 作为其封装层。

5. Refined

我们将使用 Refined 来实现精炼类型(refined types)。该库源自 Haskell 语言的同名库,旨在帮助开发者对类型进行约束。

6. PostgreSQL JDBC 驱动

PostgreSQL JDBC 是一个开源驱动程序,允许 Java 程序通过标准的、与数据库无关的 Java 代码连接到 PostgreSQL 数据库。

简介

模型