欢迎使用 Nest Cloud Nest Cloud 是一套以 consul 作为服务注册与发现中心,基于 nest.js 的微服务解决方案。
由以下几个组件组成:
boot - 服务启动的时候读取本地配置文件和环境变量
consul - 对 consul api 的一层封装
consul-config - 提供以 consul kv 作为配置中心的 client
consul-service - 提供服务注册以及服务查找功能
consul-loadbalance - 提供本地负载均衡功能
feign - 提供基于 decorator 的 http client,并且支持负载均衡,使用更加简单方便
schedule - 提供基于 decorator 实现的定时任务库,支持分布式
想问下大佬,微服务的具体应用在哪里呢
是不是项目都有必要弄一个微服务架构呢
@cllgeek 高可用 避免雪崩 可扩展 好分工
缺点 不适合敏捷项目 试水项目 维护需要更多人力成本
@phper-chen 嗯,总感觉这东西有点虚
@cllgeek 中小型项目没i使用的必要。 大项目必须用到了
@zuohuadong 嗯,我也是这样觉得的,就是有些大项目的话,有些人认为还是直接上java靠谱些
@cllgeek 微服务无关语言的。
@zuohuadong 是啊,这个我知道,可能这里你理解错了我的意思 ^_^
微服务架构注定项目不会是大的,因为都是由子项目构成,微服务大并不在项目,而在对需求系统的清晰认知以及深度且灵活的规划。微服务碰到统一技术栈的团队,个人觉得轮子或者框架是应该有一些,且更应该关注本语言的优秀框架,但碰到异构团队,市面上大部分语言的框架都不怎么友好,springCloud还不错,但是说白了,微服务也并不是一定需要既定框架轮子,他只是一种方法论,觉得好可以直接用或者借鉴,如果不合适的可以去稍微扩展和自定义。看到这个框架,就如同nest.js本身一样,到处都是spring的味道。
@HobaiRiku 后半部分赞同。 但只有大项目才有微服务拆分的必要,不然成本太高了
云原生时代, 可以不用再纠结某个语言没有微服务治理的轮子了, 微服务治理交给基础设施吧. 可以尝试一下 k8s + service mesh, 打开一片新天地. kong, nginx, linkerd, istio, 都在做service mesh. https://www.cncf.io/projects/
istio配合容器裸koa 微服务就不用考虑太多细节了 不过istio的代理模式效率不高 多了一层转发代理