说到微服务,一想到就是针对业务复杂度不断提高的应用衍生出来的框架,大多数应用场景是大型复杂的应用。那么微服务为个人开发者有什么好处呢?我认为有以下好处:
- 替换原先的包/库级别的代码复用和封装。
- 使用微服务更容易做技术选型,可以选择合适的语言去实现特定的业务逻辑。
- 更利于抽象业务逻辑,甚至可以通过互联网单独共享交付微服务(公共 api 服务)。
最近正在入门 rust,所以拿点将来重构的微服务小项目练手.
服务发现选型: 阿里的 nacos (https://nacos.io/),作为 spring 生态中唯一的国人产品,很不错的选择,对比用 spring cloud 来说,nacos 集成了服务发现,配置管理,同时又是直接单独部署,支持集群,是简化基础不错的选择。
消费者:使用 spring cloud ,毕竟用的人最多,同时和 nacos 集成良好,省事,可以专注在此rust 的折腾上。
nacos 和 spring cloud 已经成熟,集成不表,参考 nacos 文档
nacos 单点启动,参考 https://nacos.io/zh-cn/docs/quick-start.html
spring clound 集成参考 https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
这里详细说明一下 rust 方面的经历
技术选型:
使用 actix-web 框架,这个框架目前在 rust 圈子中人气也很高。 rust 和 node 或者 golang 领域的web 框架很类似 所有很容易上手,简单的代码:
#[derive(Serialize, Deserialize)]
struct Message {
msg: String,
code: i32,
}
async fn index() -> impl Responder {
HttpResponse::Ok().body("this is a rust m