SOFA 探究

SOFA模块化

问题:传统的module只是代码的模块化,最终变成jar 运行在jvm中,这样会导致module的服务可以随意依赖另一个模块,不利于微服务化。

解决:   将每个模块中的类使用不同的上下文进行隔离,然后在模块依赖时,提供方进行jvm服务注册,调用方进行jvm服务注入,在运行时,还是在同一个jvm中调用。

问题: 对外提供的sdk中依赖了其他jar包,这些jar包有可能与sdk使用方的jar包冲突

解决: 使用单独的类加载器加载sdkjar包

实现: 基于不同的启动类创建不同的线程,根据不同的线程类加载器加载启动类

 

SOFATracer 分布式全链路追踪系统

原理:比如springMvc  是在请求前添加filter 进行数据拦截的

你可能感兴趣的:(SOFA,java)