KJFramework 架构体系

       KJFramework架构体系专注于C/S模式(项目/产品)企业级架构解决方案, 这是一个非常棒的架构体系, 通过使用KJFramework, 我们可以快速的完成(项目/产品)底层基础设施的建设, 而且这样的好处也是显而易见的。我们的开发人员只需要直接完成业务级别的代码开发即可,无需关注底层实现细节。

       在内部,我们将会为您保证所有公共基础设施所需要关注的这些指标:

  • 高性能
  • 高可用性
  • 高维护性
  • 高灵活性

       通过在项目/产品中使用KJFramework架构体系, 您将会得到如下优势:

  • 帮助您解决底层基础设施的技术难题
  • 完整的相关技术/框架使用实例
  • 缩短项目/产品的上线周期 
  • HA级别的技术指标, 更稳定的技术方案
  • 更好的KJFramework架构体系的技术更新解决方案
  • 非常快的、非常好的技术支持

 

       接下来, 我们将为您介绍KJFramework架构体系中所包含的具体框架/能力:

  • KJFramework(基础层)

           封装了非常多的基础能力, 比如日志功能, 读取自定义配置节功能, 相关帮助器以及WIN32 API的封装等等。这一层, 是KJFramework最底层的基础能力支持。
  • KJFramework.IO(IO操作层面上的辅助层)

           完成了WINDOWS HOOK的封装, 并且内部为基础级别的缓冲区做了第一版的实现, 这是非常重要的, 因为后续的缓冲区扩展都会基于此类来进行实现。

  • KJFramework.Cache(缓存框架)

           在这套框架中, 我们为内存缓存、内存缓存容器、缓存算法、缓存生命周期以及远程的访问模式等等定义了接口, 并且给予了规范化的实现。这为日后的内存缓存需求打下了基础, 因为我们内部的实现都是非常灵活的,通用性和可扩展性都很强。

  • KJFramework.Data.Synchronization(数据同步框架)

            这是一套基于(订阅者-发布者-广播通知者)模式设计的消息同步框架, 并且同步的数据是基于KEY/VALUE形式来传输的。由于在内部的设计中, 我们并不局限使用者如何定义KEY和VALUE的具体类型, 所以这套框架具有非常高的通用性。
            从目前来讲, 这套框架的通信模式有2种(双向通信/单向通信), 并且在日后, 我们会为此套框架加入安全性保障机制, 好让它胜任更加严格的数据同步/通知任务。

  • KJFramework.Dynamic(基于组件的动态服务框架)
    *此项目的单独开源地址: http://dynamicservice.codeplex.com

            从业务划分以及文件的部署层次上来讲, 我们总是应该为每一个独立的业务创建属于它们自己的组件单元(Component)。这也就是KJFramework.Dynamic框架的设计初衷,。我们为您提供了基于组件设计粒度的业务划分/部署模式。
            在内部, KJFramework.Dynamic会把每一个组件装配在各自不同的应用程序域中(AppDomain), 这样的做法可以导致即便同进程内部的某个组件崩溃了, 灾难也不会波及到整个进程。
            无论是早期业务的划分设计还是后期的动态服务部署, 都能在KJFramework.Dynamic框架中找到答案。我们通过使用SHELL的概念来完成EXE-SHELL到SERVICE-SHELL的替换工作, 这一切的操作都是那么的平滑, 对于组件的开发者都是不可见的, 当然了, 也是完全无成本的。 
  • KJFramework.Net(网络基础层)

            网络基础层, 是一切需要网络功能需求的根基, 它封装了各种对于网络功能进行最底层支持的组件。

  • KJFramework.Net.Channels(基于信道模式的网络层框架)

            在KJFramework整个的架构体系中, 这一层是最核心的网络层。它被设计为以通信信道(Channel)的模式来进行使用。 用户可以通过搭配不同种类的通信信道来完成各种网络通信的需求。在内部, 我们暂时只支持使用TCP/HTTP/PIPE这三种网络通信方式。
            无论从哪一个角度去观察, KJFramework.Net.Channels都总是能够应对不同种类的网络需求, 它以HA级别的技术标准出现在KJFramework的整个架构体系中, 从最底层提供了监听器, 通信信道,、协议栈概念、消息信道等不同种类的各种网络需求支持。
            超简洁的代码, 超高的性能, 非常好的框架设计, 都为使用者诠释出了一套完美的网络层解决方案。在其他的开源项目中, 总是具有这样或者是那样的问题, 令人挠头的性能问题, 不稳定的因素时时刻刻都在困扰着使用者。而我们的网络层是绝对不会让您失望的!
            截止到现在为止, 很多公司的.NET服务器端都在使用我们的这套框架作为网络层的终极解决方案, 这其中也包含了腾讯游戏的第三方合作商等等公司。

  • KJFramework.Message(专注于网络通信消息的二进制序列化/反序列化框架)
    *此项目的单独开源地址: http://message.codeplex.com

            KJFramework.Message框架专注于可参与网络传输的消息二进制序列化/反序列化工作。无论是紧凑的/非常精短的序列化结果, 还是超高的性能, 非常好的代码结构, 非常灵活的可扩展性, 都是我们的不二选择。只需要简单的2步, 就可以直接使用, 还不快来尝试?
            截至到现在为止, KJFramework.Message框架已经被很多大型公司所使用, 他们都将这个项目作为序列化/反序列化网络消息的最佳选择, 这也是一个见证KJFramework架构体系实力的不争事实。

  • KJFramework.Net.Transaction(事务概念模型层)

             在谈过了我们的网络层和消息序列化/反序列化基础设施后, 再让我们来谈谈一致性的网络事务。在一套通信系统中, 我们总是需要使用一种机制来完成请求与应答的配对, 以及一些状态和消息的通知/回调任务。
             这些功能, 我们将其独立封装成了一个事务概念框架, 这也就是KJFramework.Net.Transaction框架的由来。它的出现, 直接为我们解决了如何获取/操作网络消息的相关能力问题。我们推荐您使用我们的网络事务框架来解决上述这些问题。当然, 包括我们自己的项目在内, 许多的.NET服务器端项目中, 也在采用我们的这种事务概念来完成不同网络端点之间通信一致性的需求。

  • KJFramework.ServiceModel(基于RPC模式的SOA架构)
    *此项目的单独开源地址: http://servicemodel.codeplex.com

            这是一套概念性的SOA框架, 它目前还只能作为研究和学习使用。但是为什么我们要现在拿出来讲它?这是因为在这套框架中, 我们实现了跟MICROSOFT WCF技术一样的用户体验和使用方式。WOW!是不是很酷?
            无论是从动态的客户端契约接口, 还是从服务器端的服务发布, 当然了, 还有更加吸引您的, 那就是服务器端契约网页版预览功能以及通过我们自己编写的VS插件来达到客户端动态生成服务器端操作契约的功能!
            这一切的一切都将在这个项目中进行展现, 虽然现在它还是一套学习型的技术框架, 但是我们做到了一个FULL级别的SOA功能框架, 如果您也对这方面的底层实现很感兴趣, 那就赶快去研究一下吧!

 

        也许, 在您获取了我们KJFramework架构体系的源码后会惊奇的发现, 那其中的很多项目并没有在这个页面中进行介绍。是的! 我们总是期望把已经达到商用级别具有非常高学习价值的项目放到主页上去介绍。
        如果您对于我们的KJFramework非常感兴趣或者期望在您的项目/产品中使用我们的架构体系, 那么您可以选择联系我们, 我们将会为您提供免费的最优的技术支持。

 

                                                                                                           - 创始人: 杨杰(Kevin.Yang)
                                                                                                           - 以下名单为部分代码贡献者: 朱俊骐

 

 

 

 

*KJFramework架构体系已经发布了基于Mono平台的解决方案! 还不快去http://kjmono.codeplex.com看看!

Last edited Sep 12, 2013 at 7:34 AM by g0194776, version 26