目前,Spring Cloud微服务开发套件和阿里巴巴开源服务治理框架Dubbo是实施微微服务的主要选择。

Dubbo是阿里服务化治理的核心框架,被广泛应用于阿里产品的各个站点,是一个比较全面的SOA基础框架。不仅具有较为完善的中文文档,国内很多互联网企业的架构师也都出自阿里集团。

“Spring Cloud,从命名我们就可以知道,它是Spring Source的产物,Spring社区的强大背景可以说是Java企业界最有影响力的组织了,除了Spring Source之外,还有Pivotal和Netfix是其强大的后盾与技术输出。其中Netflix开源的整套微服务架构套件是Spring Cloud的核心。”[1]

1。3 系统开发相关技术

1。3。1 Git

Git是一种开源的分布式SCM(Source Code Management,源代码管理)工具,是一个免费的开放源码的分布式版本控制系统,也是世界上最先进的分布式版本管理系统,用于处理从小到大所有项目的速度和效率。

Git是易于学习和具有闪电般的快速性能。它超越了SCM工具,如Subversion、CVS、ClearCase和低廉的本地分支,方便的暂存区,和多个工作流等特点。

GitHub(https://github。com)是GIT服务器中比较知名和成功的,它提供了基于身份认证和项目托管等功能。

1。3。2 SOLID原则

系统设计遵循SOLID(OOD&OOP重要编码原则)原则:

图1。1 SOLID原则

1。3。3 Apache Maven

Maven(http://maven。apache。org)是Apache开源组织的项目,该项目用于组织和构建Java项目。“基于POM(项目对象模型)的概念,Maven可以用来管理项目的构建、报告和文档。Maven使用标准的目录结构(约定目录)和默认构建生命周期”[7],为项目构建提供了完整的生命周期框架。

1。3。4 Mybatis

“MyBatis的前身是iBatis,后改名为MyBatis。MyBatis是支持普通SQL查询、存储过程和高级映射的持久层框架。MyBatis消除了几乎所有的JDBC代码操作,如参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和POJO映射成数据库中的记录”[10]。

优势:

· MyBatis可以做更为细致的SQL优化,可以控制查询字段的个数。

· MyBatis比Hibernate更容易入门。

“Mybatis的功能架构分为三层:

1) API接口层:提供给外部使用的接口API,开发人员通过这些API接口来操纵数据库。接口层接收到请求就会调用数据处理层来完成具体的数据处理。

2)数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射POJO处理等。它主要的目的是根据请求完成一次数据库操作。

3)基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理。”[10]

 图1。2 Mybatis 架构设计图

图1。3 Mybatis整理流程图

1。3。5 Spring

“Spring是一个轻量级的DI和AOP容器框架,Spring框架为基于java的企业应用程序提供了跨平台的综合编程和配置模型。”[2]“Spring的一个关键要素是应用层的基础设施支持:Spring专注于企业应用程序的“管道”,以便团队可以专注于业务逻辑,而不必对特定部署环境进行不必要的操作。”[2]

优点:

1)“使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑

2)可以提供众多服务,事务管理,WS等

3)AOP的很好支持,方便面向切面编程

4)对主流的框架提供了很好的集成支持,如Hibernate,Struts2,JPA等”[2]

上一篇:asp.net监控摄像机控制软件设计与实现
下一篇:设计基础移动端及网站界面设计

java+mysql通用试题库系统后台设计与实现

java物业管理系统设计

java+sqlserver教学质量考评信息管理系统设计

Java+sqlserver医院远程挂号系统设计

java图书馆图书管理系统设计

java+mysql宿舍管理系统的设计+ER图

Java的学生信息管理系统设计

我国风险投资的发展现状问题及对策分析

互联网教育”变革路径研究进展【7972字】

安康汉江网讯

麦秸秆还田和沼液灌溉对...

老年2型糖尿病患者运动疗...

新課改下小學语文洧效阅...

ASP.net+sqlserver企业设备管理系统设计与开发

LiMn1-xFexPO4正极材料合成及充放电性能研究

张洁小说《无字》中的女性意识

网络语言“XX体”研究