zoukankan      html  css  js  c++  java
  • 简单ESB的服务架构

    简单ESB的服务架构

    这几个月一直在修改架构,所以迟迟没有更新博客。

      新的架构是一个基于简单esb的服务架构,主要构成是esb服务注册,wcf服务,MVC项目构成。

      首先,我门来看一看解决方案,

      1.Common

      在Common文件夹中主要是基础设施层common.Infrastructure 以及ESB面向于web端的请求层 ESBLayout。

      基础设施层主要包含了一些基本的帮助类,第三方dll,和常用的组件,比如缓存,ioc,日志,邮件,支付等。

      ESBLayout这个项目主要集成服务的一些调用,在此项目中添加了对与esb服务的引用,所有的服务请求通过该esb服务进行路由。请求方式如下

    复制代码
     public List<Test_StudentDto> GetStudentListByPage(int pageIndex, int pageSize, string queryPredicate, object[] paramValues, string orderBy, ref int record)
            {
                using (var client = new ESBServiceClient())
                {
                    string str = string.Format("{0}{1}{2}{3}{4}{5}",
                    pageIndex, pageSize, queryPredicate, paramValues, orderBy, record);
                    string sign = ServiceEncrypt(str, key);
    
                    var param = new object[] { pageIndex, pageSize, queryPredicate, paramValues, orderBy, record };
                    var res = client.InvokeRef("689745d4-2218-4464-b207-d7dd61ce6bf8", sign, ref param);
                    record = Convert.ToInt32(param[5]);
    
                    if (res != null)
                    {
                        return ConvertJsonTo<List<Test_StudentDto>>(res.ToString());
                    }
                    else
                    {
                        return null;
                    }
                }
    
            }
    复制代码

      通过方法的guid code进行查找服务。

      2.Persistence

      该文件夹中的sln 主要是数据库访问层,该架构数据库访问层,主要是用EF框架进行交互,数据库采用Mysql(至于为什么使用Mysql,原因在于公司没有自己的机房,使用的是阿里云,但是阿里云的SQLServer RDS数据库 对于主从服务器的支持不是太完美)。

      Tonsin.IRepositories 仓储接口,定义访问数据库的操作接口

      Tonsin.Repositories.Mysql 仓储实现,基于EF框架对Mysql数据库进行访问

      Tonsin.Model 数据库实体

      Tonsin.Model.DTO 服务传输实体

      3.PlatFormService

      该文件夹中主要是ESB的实现,以及系统技术平台的服务实现。

      下图为技术平台的展示

      

      该平台集成了esb服务注册,服务器管理,系统管理,以及日志处理,定时任务,控件库等需求。

      目的在于打造公司系统实时的技术支持平台。

      4.Service

      这一层就不用细说了,根据需求分化的服务站点项目。

      5.Web

      基于MVC的web站点。

      大致的项目解决方案说明就是这些,该项目可以说是从0开始的一个大型项目,对于我这种初学者来说,压力很大,动力十足,也许会有很多不足的地方,希望能够在日后的时间内逐一改善。

      PS:本人博客写的很乱,后续慢慢加强文笔。

    放学别走丶 2016-03-17 17:05 阅读:354 评论:11
     
    放学别走丶 2015-12-22 09:44 阅读:142 评论:0
     
  • 相关阅读:
    Encoding
    F Takio与Blue的人生赢家之战
    D FFF团的怒火
    C Golden gun的巧克力
    B 倒不了的塔
    A jubeat
    17230 计算轴承半径
    10686 DeathGod不知道的事情
    10688 XYM-AC之路
    10692 XYM-入门之道
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/5290018.html
Copyright © 2011-2022 走看看