简单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
 

简单ESB的服务架构的更多相关文章

  1. 新项目架构从零开始(三)------基于简单ESB的服务架构

    这几个月一直在修改架构,所以迟迟没有更新博客. 新的架构是一个基于简单esb的服务架构,主要构成是esb服务注册,wcf服务,MVC项目构成. 首先,我门来看一看解决方案, 1.Common 在Com ...

  2. zuul 路由网关 微服务架构系统中

    在微服务架构中,基本包含以下常见的组件.服务注册与发现.服务消费.负载均衡.断路器.只能路由.配置管理等.一个简单的微服务架构系统如下 一.Zuul简介 Zuul的主要功能是路由转发和过滤器.路由功能 ...

  3. 面向服务架构(SOA)和企业服务总线(ESB)

    http://www.cnblogs.com/shanyou/archive/2008/04/19/1161452.html 学习和研究在企业中实施面向服务架构(SOA),简单回顾SOA和ESB,重点 ...

  4. 微服务架构的简单实现-Stardust

    微服务架构,一个当下比较火的概念了.以前也只是了解过这方面的概念,没有尝试过.想找找.NET生态下面是否有现成的实现,可是没找到,就花了大半个月的闲暇时间,遵循着易用和简单,实现了一个微服务框架,我叫 ...

  5. 简单记录下SpringCloud的微服务架构和一些概念

    一.微服务的注册与发现——Eureka 和许多分布式设计一样,分布式的应用一般都会有一个服务中心,用于记录各个机器的信息.微服务架构也一样,我们把一个大的应用解耦成这么多个那么多个服务,那么在想要调用 ...

  6. 庐山真面目之四微服务架构Consul和Ocelot简单版本实现

    庐山真面目之四微服务架构Consul和Ocelot简单版本实现 一.简介      在上一篇文章<庐山真面目之三微服务架构Consul简单版本实现>中,我们已经探讨了如何搭建基于Consu ...

  7. Java高可用集群架构与微服务架构简单分析

    序 可能大部分读者都在想,为什么在这以 dubbo.spring cloud 为代表的微服务时代,我要还要整理这种已经"过时"高可用集群架构? 本人工作上大部分团队都是7-15人编 ...

  8. 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

    一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...

  9. ESB 企业服务总线

    整理的OSChina 第 38 期高手问答 —— ESB 企业服务总线,嘉宾为@肖俊_David . @肖俊_David 恒拓开源架构师,热衷于JAVA开发,有多年的企业级开发经验.曾参和设计和开发基 ...

随机推荐

  1. hadoop(六) - ZooKeeper安装与配置

    一. ZooKeeper配置 1.使用winscp上传zk安装包 zookeeper-3.4.5.tar.gz 2.解压安装包tar -zxvf zookeeper-3.4.5.tar.gz -C / ...

  2. 使用Xcode无法发布程序(Archive按钮一直为灰色不可点击)

    问题现象:想在Xcode中把代码编译发布成ipa程序,但“Product”->“Archive”按钮一直不可使用.   解决办法:目前的运行配置是使用模拟器,改成“iOS Device”即可   ...

  3. 程序猿的量化交易之路(29)--Cointrader之Tick实体(16)

    转载需注明出处:http://blog.csdn.net/minimicall,http://cloudtrade.top Tick:什么是Tick,在交易平台中很常见,事实上就 单笔交易时某仅仅证券 ...

  4. 百度GPSutil

    ================================================= package com.qcar.benz.biz.common; import com.aliba ...

  5. Java排序算法(四):Shell排序

    [基本的想法] 将原本有大量记录数的记录进行分组.切割成若干个子序列,此时每一个子序列待排序的记录个数就比較少了,然后在这些子序列内分别进行直接插入排序,当整个序列都基本有序时.再对全体记录进行一次直 ...

  6. virus.win32.parite.H病毒的查杀方法

    virus.win32.parite.H病毒的查杀方法 昨天电脑中了virus.win32.parite.H病毒,搞了2个多小时最终搞定了.以下记录下我的解决方法. 第一步:下载Win32.Parit ...

  7. LinkedHashMap相关信息介绍(转)

    Java中的LinkedHashMap此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表.此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序 ...

  8. ExtJS学习--------Ext.Element中的经常使用事件和其它重要的方法学习(实例)

    经常使用事件: 其它重要方法: 详细实例:(实例结果能够将相应的代码取消凝视进行測试) Ext.onReady(function(){ Ext.create('Ext.panel.Panel',{ t ...

  9. DecimalFormat

    public class TestDemo { public static void main(String[] args) { String format = new DecimalFormat(& ...

  10. hdu4283(区间dp)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4283 题意:有一个队列,每个人有一个愤怒值D,如果他是第K个上场,不开心指数就为(K-1)*D.但是边 ...