Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.
目录
概述
SOFA是Service Oriented Fabric Architecture是一种分布式架构解决方案,是一个应用中间件,包含了RPC、消息、监控和服务治理。
需求:
开发框架的组成
一个标准的sofa工程从上到下可以分为测试层、展现层、业务层、核心领域层和通用层,并且从测试层到通用层是层级依赖的。一般来说,如果下层模块依赖了上层模块的代码,那么就会出现循环依赖,导致工程报错。在通用层,又可以分为数据访问层、服务引用和应用jar包。
设计思路
一个标准的sofa工程从上到下可以分为测试层、展现层、业务层、核心领域层和通用层,并且从测试层到通用层是层级依赖的。一般来说,如果下层模块依赖了上层模块的代码,那么就会出现循环依赖,导致工程报错。在通用层,又可以分为数据访问层、服务引用和应用jar包。
实现思路分析
1.sofa模块与jar包的区别
这里我们可以使用规则的数据结构来存储和转发。
一个 SOFA 模块的 META-INF 目录下,有一个 MANIFEST.MF 文件,这份文件里面定义了 SOFA 模块的名称以及模块之间的依赖关系。
2.Sofa
SOFA框架的主要特点包括:
-
高性能:SOFA框架采用了高性能的RPC框架,支持多种协议和序列化方式,可以满足不同场景下的性能需求。
-
可扩展性:SOFA框架支持水平扩展和垂直扩展,可以根据业务需求灵活调整系统的规模和性能。
-
高可用性:SOFA框架提供了多种容错机制,包括负载均衡、故障转移、熔断降级等,可以保证系统的高可用性。
-
服务治理:SOFA框架提供了完善的服务治理功能,包括服务注册、发现、路由、限流等,可以帮助开发者管理分布式系统中的服务。
-
分布式事务:SOFA框架支持分布式事务,可以保证分布式系统中的数据一致性和可靠性。
3.sofa模块与jar包的区别
1、一个 SOFA 模块的 META-INF 目录下,有一个 MANIFEST.MF 文件,这份文件里面定义了 SOFA 模块的名称以及模块之间的依赖关系。
2、在一个 SOFA 模块的 META-INF/spring 目录下,可以放置任意多的 Spring 配置文件,这些配置文件,SOFA 会自定把它们作为本模块的 Spring 配置加载起来。
4.服务发布与引用
在使用sofa开发的时候,使用最多的就是sofa服务的引用与发布了,具体来说,服务发布与引用的流程如下:
这个也比较简单,就是对网页元素进行解析,通常利用JSONP,xpath等技术进行网页分析。
SOFA框架的核心组件包括:
SOFA框架的核心组件包括:
-
RPC框架:SOFA框架提供了高性能的RPC框架,支持多种协议和序列化方式,可以满足不同场景下的性能需求。
-
配置中心:SOFA框架提供了统一的配置中心,可以帮助开发者管理分布式系统中的配置信息。
-
服务治理:SOFA框架提供了完善的服务治理功能,包括服务注册、发现、路由、限流等,可以帮助开发者管理分布式系统中的服务。
-
分布式事务:SOFA框架支持分布式事务,可以保证分布式系统中的数据一致性和可靠性。
-
分布式缓存:SOFA框架提供了分布式缓存组件,可以帮助开发者管理分布式系统中的缓存。
拓展实现
暂无
性能参数测试:
参考资料和推荐阅读
- https://blog.51cto.com/u_11979904/5851060
- https://www.itxm.cn/post/icgff1a9.html
欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!~