fibjs based microservice framework
基于 Fibjs 的高性能、多模态微服务框架
bash
npm install cobweb-app cobweb-server cobweb-redis cobweb-mysql
`
$3
`typescript
import {Application} from "cobweb-app";
import {Redis} from "cobweb-redis";
import {MySQL} from "cobweb-mysql";
new Application({
name: "demo",
http: {
host: "0.0.0.0",
port: 8889
},
workPath: {
services: "./src/services",
models: "./src/models"
},
response: {
codeField: "code",
msgField: "message",
dataField: "data",
successMsg: "success",
successCode: "10000",
unknownFailCode: "0"
},
cache: {
handle: new Redis(),
size: 10,
config: {
host: "127.0.0.1",
port: 6379
}
},
database: {
handle: new MySQL(),
size: 10,
config: {
host: "127.0.0.1",
port: 3306,
user: "root",
password: "root",
database: "mydb"
}
},
logger: {}
});
`
$3
`typescript
import {Service, Server, Register} from "cobweb-app/service";
@Server
export default class extends Service {
@Register()
hello(opts: any): string {
return "Hello, Cobweb!";
}
@Register()
getUser(opts: any): any {
return this.model('user').find({id: opts.id});
}
}
`
$3
`bash
fib-typify ./app.ts
`
访问 http://localhost:8889/hello 即可看到结果。
📖 完整文档
详细文档请查看 docs 目录:
- 快速入门 - 5分钟快速上手
- 架构设计 - 框架整体架构和设计理念
- 应用配置 - 完整的配置选项说明
- 服务开发 - Service 基类和装饰器使用
- 数据模型 - Model 基类和数据库操作
- 微服务模式 - 微服务架构部署
- API 参考 - 完整的 API 文档
📚 示例项目
项目中包含了完整的示例代码:
- demo/single - 单机模式示例
- demo/full - 微服务模式示例
- demo/full/center - 注册中心
- demo/full/http - HTTP网关
- demo/full/service - RPC服务
🏗️ 架构概览
`mermaid
graph TB
subgraph 服务层
A1[HTTP Server
HTTP协议]
A2[TCP Server
RPC协议]
A3[WS Server
WebSocket]
end
subgraph 核心层
B1[Application Manager
应用管理器]
end
subgraph 应用层
direction LR
C1[Services 业务服务]
C2[Models 数据模型]
end
subgraph 抽象层
D1[Cache
缓存管理]
D2[Database
数据库管理]
D3[Logger
日志管理]
end
subgraph 实现层
E1[Redis 缓存]
E2[MySQL 关系型]
E3[PostgreSQL 关系型]
E4[Embed 内置日志]
end
A1 --> B1
A2 --> B1
A3 --> B1
B1 --> C1
B1 --> D3
C1 --> C2
C1 --> D1
C2 --> D2
D1 --> E1
D2 --> E2
D2 --> E3
D3 --> E4
``
Made with ❤️ by 姚乔锋