这个软件架构思路太先进了吧!
推荐关注
责编:猿哥 | 来源:GitHub猿 整理
上次是谁要的系统项目啊,猿哥帮你找到了。
📚 项目介绍
现在大家在公司开发的都是分布式的应用,这也就意味着在开发上除了要关注业务逻辑,也要关注分布式服务特有的问题,比如服务发现、容错、鉴权等。而以上这些问题,一般取决于每个公司的成熟度有很大的不同,也很难依赖开源的一些建设。
但是,今天要推荐一个尝试让上述问题更容易解决的方向,多运行时架构,将业务与技术进行分离管理。扩展:接私活
目前首先实现多运行时架构的开源项目是 Dapr,Dapr 是一个开源的分布式应用运行时。它的目标是使分布式微服务开发变得更容易,更一致,更简单。Dapr 提供了一组分布式解决方案,帮助开发人员将其构建块与框架无关地拆分为小型,可重用的和管理的服务。
Dapr 具有许多优点。它可以帮助开发人员更快地构建和部署分布式应用程序。它的微服务构建块可以轻松集成到现有的工作流中,而无需更改现有代码。此外,Dapr 还提供了一组工具和 API,可以使开发人员能够更轻松地管理和监控分布式应用程序。
Dapr 是为云原生应用程序开发人员而设计的,但它可以用于任何类型的应用程序开发。它支持多种语言,包括 Java、Python、C# 和 Go,并且可以与任何框架,包括 Kubernetes、Docker 和其他云提供程序一起使用。另外,搜索公众号Linux中文社区后台回复“私房菜”,获取一份惊喜礼包。
总而言之,Dapr 是一个强大的工具,可以帮助开发人员更轻松地构建分布式应用程序。它可以节省时间,提高生产力,并帮助您更轻松地管理和监控分布式应用。
除了上述特点之外,Dapr 还提供了一组标准化的服务协议,可以让不同的微服务之间进行通信。这样,开发人员就可以更轻松地将多个服务连接在一起,实现更复杂的应用程序功能。
此外,Dapr 还提供了一组可重用的组件,可以实现常见的分布式应用程序模式,包括消息传递、状态管理和计算等。这些组件可以轻松集成到现有的应用程序中,减少开发人员的工作量。
说了这么多,可能举一个简单的例子会更容易让大家理解。以下是分别使用 Node 和 Python 开发的只有业务逻辑的代码,通过与 Dapr 运行时结合,服务之间的调用关系如下:
对应的 Node 和 Python 代码如下,代码可以看出来是没有任何其他的非业务相关的能力的。
而其中的 Dapr Runtime 可以根据需要按需去加载一些分布式的管理能力,且不需要对业务逻辑代码进行变更。比如我要给 Node 应用增加限流逻辑,只需要在 Dapr 做如下配置即可,就能使得 Node 服务每秒只能接受一个请求。
总之,Dapr 是一个值得关注的工具,可以帮助开发人员更轻松地构建分布式应用程序。它的标准化协议和可重用组件可以节省时间,提高开发效率,并且可以与多种框架和语言一起使用。
更多项目详情请查看如下链接。
最后,想学习这个项目的可以查看项目地址:项目源码,怎么领取?
扫码下方二维码,后台回复【软件架构】即可获取所有系统
在 GitHub猿 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!
猿哥个人微信
添加猿哥个人微信即送一份惊喜大礼包
→ 技术资料共享
→ 技术交流社群
牛逼啊,这个文本编辑器工具,可用于剪视频!一个纯前端的拖拽式、可视化、低代码数据可视化开发平台!
最近,GitHub猿建了一个「GitHub猿交流群」,欢迎大家一起交流优秀开源项目,也可以宣传自己的开源项目,在 「GitHub猿」公众号后台回复【加群】邀请你入群。