一个微服务项目
该项目主要是致力于房屋短租方向的B2C(Business-to-Customer)业务的O2O(Online To Offline)平台。为全国各地的房东与租客提供一个方便快捷而又专业的服务。 该项目整体采用了分布式微服务的架构方式进行设计,以go语言的go-micro框架进行开发。
用户交互部分遵循了RESTful设计风格的B/S架构,使用了go-micro框架的web模块进行开发,主要功能为解析请求与调用服务。
服务处理部分主要使用了go-micro框架的srv模块进行开发。
服务与服务之间使用consul来完成服务发现与健康检查。
使用Google 公司封装rpc协议的grpc框架进行交互,数据传输格式采用了跨语言跨平台的protobuf,protobuf能够与grpc能够进行完美的结合也大大的增强了项目后期的扩展性。
关于数据存储分为三个不同的方向, 关系型数据库使用了华人大牛谢孟军先生的beego框架中的orm(gorm,xorm)框架与市面上使用较广的Mysql数据库进行交互配合。 小型文件存储采用了淘宝的Fastdfs与高性能http服务器的nginx结合使用形成一个小型的文件服务器。 信息缓存部分选用了,使读写速度极高的Redis来完成高访问量的数据缓存。
最后将服务进行容器化