分布式项目规范总结

远程调用项目规范总结大致如下,架构不一定与这个架构一样,但基本上是差不多的,有的项目使用maven管理只需要建立两个项目。

远程调用分布式的核心思想:面向接口编程,代码切割 ,负载均衡,服务器缓存。

以下的规范都是为了方便实现其核心精神。

数据实体遵循ORM映射机制。

实体属性命名格式mouldName;不带下划线,可以使用工具generator eclipse插件自动化生成实体类和映射Mapper.xml文件

远程调用分层格式

客户端工程

前端:js  ,  image  , CSS ,Html 分开,采用连接形式。插件独立。

Action层:  命名以--Action后缀结尾。

其他工具层:

接口工程:

远程调用接口:以--Remote后缀结尾。

数据库实体层:

其他数据实体:添加一些数据库不包含的字段,可以继承数据库实体。

其他工具层:

返回数据层:封装了返回数据,包括返回码和其它信息。

远程服务工程:

远程接口实现层:实现接口工程中的接口。并调用业务逻辑层。以--RemoteImpl后缀                                结尾。

业务逻辑层:分为接口层,和实现层,以--Service和--ServiceImpl后缀结尾。处理                             业务逻辑和事务。

数据库层:分为接口层,和实现层,以--Dao后缀结尾

其他工具层:

数据库映射文件命名空间开启:能防止命名冲突

SqlMapConfig.xml中setting下的useStatementNamespaces="true"

各映射文件中  <sqlMap namespace="user" >

调用this.client_r.queryForList("getUserById");

this关键字的使用,能提高代码的可读性。

异常的try---catch  和   throw  的差别。

异常在哪里出现的就在哪里try---catch捕获,能更好的进行异常精确定位。也为了更好的实现         后期日志处理。

throw会将异常往上抛,抛给上一层处理。

命名实体层一般用 英文中的名词。服务层、控制转发层和数据层 一般使用带动作的词,用英         文单词拼接,不能使用简写,命名要达到能表达功能,可以做到零注释编写。

服务层编写一般一张表对应一个实体对应一个数据库访问层,对应一个业务逻辑层。业务逻辑         需要操作多表的,

需要看最终返回的结果是一那个实体为主,就归类在哪里,这里是为了实现代码的相关性。希         望去看一下《重构-改善既有代码》这本书,把上面那个案例操作一下,很有帮助的。

一个类中代码块顺序格式:

private static final

private HomPushRemote

private int userId;

get,set方法

功能方法

调试打印,避免sysout. 采用日志打印,可以区别多种类型的信息打印,也为了方便后期日志处         理。

private static Logger log = Logger.getLogger(HomProductAction.class);

log.debug("");

远程服务层的接口命名不能带有客户端层的业务含义。做到接口的统一,为了实现接口的简           单,和共用性。

代码编写从业务需求开始,到Action层,思考需要哪些接口,去接口工程中查看是否已经有           了该功能的接口,没有再创建。

一层一层的自顶向下驱动开发,减少代码的冗余。一般增删改查这个四个功能,插件可以自           动生成的。

action层根据需求来区分建包建类,同一模块的页面放在同一个包中,一层一层的。

ibatis映射文件结构

文件命名空间配置

sqlMap

共用sql语句块

功能语句块

时间: 2024-08-04 16:37:19

分布式项目规范总结的相关文章

个人第一个开源分布式项目distributeTemplate的实现三 网络通讯netty传输大文件

今天 我将讲讲网络通讯,这里我初始版本 由于采用的事Netty框架  所以 这里讲网络Netty在我们这里是怎么使用的,下周开始添加rpc lucene内容了 实现之后的0.2 0.3版本,后面将会去掉netty依赖 采用原生的NIO2 (aio) 异步非阻塞方式 实现自己网络通讯,也就是说 这部分可能会实现一个简单的但是比netty精简高效的网络框架,后期做出来 可能会单独开一个分支开源出来,netty说白了 就是 事件驱动 以及 NIO 加一些协议 以及 异常 处理,废话不多说了. 我最近

java架构师负载均衡、高并发、nginx优化、tomcat集群、异步性能优化、Dubbo分布式、Redis持久化、ActiveMQ中间件、Netty互联网、spring大型分布式项目实战视频教程百度网盘

15套Java架构师详情 * { font-family: "Microsoft YaHei" !important } h1 { background-color: #006; color: #FF0 } 15套java架构师.集群.高可用.高可扩展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  clo

Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战视频教程

15套java架构师.集群.高可用.高可扩展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布式项目实战视频教程 视频课程内容包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat.Spring.MongoDB.ZeroMQ.Git.Nosql.Jvm.Mecached.Netty.Nio.Mina.性能调优.高并发.to

个人第一个开源分布式项目distributeTemplate的实现二 分布式配置以及上下文的维护同步

我们实现分布式 也是按照 这样一步一步来的,首先是公用的资源对象,第一个必须的公用资源 对象是配置,这配置交给用户外部填写 手动配置 并能维持同步 更新 所以需要一个配置对象 维护在内存里面,需要事件驱动监听配置文件的变化情况 ok下面来 看看代码是怎么做的 ,首先 配置 有多重配置方式 ini conf prop xml 各种方式本质上 我们分布式就是要各台主机 自己所在的节点 都能知道我在网络上情况,或者所可以找到像zookeeper 只要知道或者找到了 才能进行以后的通讯同步 我们为了能够

利用Linux中的crontab实现分布式项目定时任务

@Controller @RequestMapping("/task/topic") public class TopicQuartzController { protected Logger logger = LoggerFactory.getLogger(TopicQuartzController.class); @Autowired private LiveTopicService liveTopicService; @RequestMapping("execute&q

dubbo分布式项目tomcat部署注意事项

1.启动时加载不进来web.xml里的类或找不到一些类(比如spring的类):分布式项目部署时自动加载进来maven依赖,但是有可能自动加载失败,通过查看server下的依赖和maven dependencies下的依赖是否一致,如果有缺少的依赖,就需要手动加载进来,右击项目,properties,选择Deployment Assembly,点击add,选择缺少的依赖.即可手动加载进来.2.和jdk版本有关系:右击项目bulid path->Configure build path->jav

分布式消息规范 OpenMessaging 1.0.0-preview 发布

摘要: OpenMessaging 是由阿里巴巴牵头发起,由 Yahoo.滴滴.Streamlio.微众银行.Datapipeline 等公司共同发起创建的分布式消息规范,其目标在于打造厂商中立,面向 Cloud Native ,同时对流计算以及大数据生态友好的下一代分布式消息标准. OpenMessaging 是由阿里巴巴牵头发起,由 Yahoo.滴滴.Streamlio.微众银行.Datapipeline 等公司共同发起创建的分布式消息规范,其目标在于打造厂商中立,面向 Cloud Nati

微服务中基于Spring Boot的maven分布式项目框架的搭建

项目介绍 这里搭建的是基于 maven 的分布式工程,因为在一个项目中,多个微服务是属于同一个工程,只不过是提供不同的服务而已,再加上 IDEA 是默认一个窗口打开一个项目工程(这点和 eclipse 不同),如果项目大,不用 maven 聚合工程的话,那估计会打开十几个窗口--会崩溃--而且在架构上,也应该使用 maven 分布式工程来搭建微服务架构.这里手把手教大家在 IDEA 中搭建基于 maven 分布式的 Spring Cloud 微服务工程架构. maven分布式工程架构首先来看一下

【ASP.NET Core分布式项目实战】(一)IdentityServer4登录中心、oauth密码模式identity server4实现

原文:[ASP.NET Core分布式项目实战](一)IdentityServer4登录中心.oauth密码模式identity server4实现 本博客根据http://video.jessetalk.cn/my/course/5视频整理 资料 OAuth2 流程:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 博客园晓晨的关于identityServer4的中文文档地址: http://www.cnblogs.com/stulzq