简单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:本人博客写的很乱,后续慢慢加强文笔。
简单ESB的服务架构的更多相关文章
- 新项目架构从零开始(三)------基于简单ESB的服务架构
这几个月一直在修改架构,所以迟迟没有更新博客. 新的架构是一个基于简单esb的服务架构,主要构成是esb服务注册,wcf服务,MVC项目构成. 首先,我门来看一看解决方案, 1.Common 在Com ...
- zuul 路由网关 微服务架构系统中
在微服务架构中,基本包含以下常见的组件.服务注册与发现.服务消费.负载均衡.断路器.只能路由.配置管理等.一个简单的微服务架构系统如下 一.Zuul简介 Zuul的主要功能是路由转发和过滤器.路由功能 ...
- 面向服务架构(SOA)和企业服务总线(ESB)
http://www.cnblogs.com/shanyou/archive/2008/04/19/1161452.html 学习和研究在企业中实施面向服务架构(SOA),简单回顾SOA和ESB,重点 ...
- 微服务架构的简单实现-Stardust
微服务架构,一个当下比较火的概念了.以前也只是了解过这方面的概念,没有尝试过.想找找.NET生态下面是否有现成的实现,可是没找到,就花了大半个月的闲暇时间,遵循着易用和简单,实现了一个微服务框架,我叫 ...
- 简单记录下SpringCloud的微服务架构和一些概念
一.微服务的注册与发现——Eureka 和许多分布式设计一样,分布式的应用一般都会有一个服务中心,用于记录各个机器的信息.微服务架构也一样,我们把一个大的应用解耦成这么多个那么多个服务,那么在想要调用 ...
- 庐山真面目之四微服务架构Consul和Ocelot简单版本实现
庐山真面目之四微服务架构Consul和Ocelot简单版本实现 一.简介 在上一篇文章<庐山真面目之三微服务架构Consul简单版本实现>中,我们已经探讨了如何搭建基于Consu ...
- Java高可用集群架构与微服务架构简单分析
序 可能大部分读者都在想,为什么在这以 dubbo.spring cloud 为代表的微服务时代,我要还要整理这种已经"过时"高可用集群架构? 本人工作上大部分团队都是7-15人编 ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...
- ESB 企业服务总线
整理的OSChina 第 38 期高手问答 —— ESB 企业服务总线,嘉宾为@肖俊_David . @肖俊_David 恒拓开源架构师,热衷于JAVA开发,有多年的企业级开发经验.曾参和设计和开发基 ...
随机推荐
- 推动Common Lisp的实际应用
推动Common Lisp的实际应用 推动Common Lisp的实际应用
- ZOJ 1859 Matrix Searching(二维线段树)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1859 Matrix Searching Time Limit: 10 Seco ...
- [Android学习笔记]Android Library Project的使用
RT http://developer.android.com/tools/projects/index.html
- 菜鸟玩云计算之十一:Hadoop 手动安装指南
Hadoop 手动安装指南 cheungmine 2013-4 本文用于指导在Windows7,VMWare上安装Ubuntu, Java, Hadoop, HBase实验环境. 本指南用于实验的软件 ...
- 做外贸,独立B2C商城好,还是平台好
随着跨境电商热的来临,越来越多的国内企业选择进军跨国电商,那么企业要想进军以互联网跨国销售,通常会通过两种途径,一种是建立独立运营的B2C商城,还有一种是依托alibaba,dhgate,aliexp ...
- JSON支持什么对象/类型?
原文:JSON支持什么对象/类型? 当一个面试官问你: JSON都支持什么对象/类型?你怎么回答? 也许他的本意是下面这个答案: JSON格式支持的数据类型有以下: 类型 描述 Number 在Jav ...
- poj - 1170 - Shopping Offers(减少国家dp)
意甲冠军:b(0 <= b <= 5)商品的种类,每个人都有一个标签c(1 <= c <= 999),有需要购买若干k(1 <= k <=5),有一个单价p(1 & ...
- poj2096(概率dp)
题目连接:http://poj.org/problem?id=2096 题意:一个程序有m个子系统,要找出n种bug,某人一天找n种bug中的一种,求出他找出n种bug并且每个子系统中都有bug的天数 ...
- TreeSet排序
TreeSet的排序能够通过两种方法来实现: 1.通过TreeSet(Comparator<? super E> comparator) 构造方法指定TreeSet的比較器进行排序. 2. ...
- Python 收集Twitter时间序列数据
CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-18 @author: guaguastd @name: c ...