微服务开发手册_第1页
微服务开发手册_第2页
微服务开发手册_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微服务开发手册1 开发说明所有服务均基J' spring boot框架开发。Spring boot内嵌了 tomcat服务器,无需生 成war包,并简化了maven 配置,能够让开发者快速入手 spring 的开发。服务的接口定义需严格符合restful规范。rest规范参考第2节rest api接口规范所有服务都需要在注册服务上注册,否则不能被其他服务所调用。同时平台也能够实时监测服务的状态,能够及时预警及调度资源。 所有服务的配置信息统一保存于gitlab上,并通过配置服务获取配置。 对数据库的操作统一采用MyBatis框架。MyBotis是个支持普通SQL查询,存储过程和高级映射

2、的优秀持久层框架。Spring boot也提供了 mybatis的集成方案,可以很快捷地整合mybatis到项目中。 包名约定:所有包均以服务名为父包名,如,后面再跟具体模块名称作为子包名。所有项目基于来开发。项目的管理与构建采用maven,代码统一托管于gitlab仓库。2. rest api 接口规范spring boot接口设计需符合restful 风格。在RESTful架构中,每个网址代表一种资 源(resource ), 所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。而客户端要执行某种类型的操作,需要根据http的操作协议来决定。HTTP提供了常用的几种操

3、作,如下表:动作说明GET(SELECT从服务器取出资源(一项或多项)POST( CREATE在服务器新建一个资源。PUT(UPDATE在服务器更新资源(客户端提供改变后的完整资 源)。PATCH( UPDATE在服务器更新资源(客户端提供改变的属性)。DELETE( DELETE从服务器删除资源。对数据库的增删改查操作,应该严格遵守上面定义的五种HTTP动作。对于更新动作,参数通过requestbody来传递,格式为jsono服务端返回数据格式也均为jsono服务端返回数据对象约定:public class Unifylnfo private int code;roperties</i

4、 nclude><in clude>*/*xml</i nclude></i ncludes><filteri ng>false</filteri ng></resource></resources><plugi ns><plug in><groupld><artifactld>spri ngrboot-mdve n-plugi n</artifactld><con figurati on><fork>true</f

5、ork></c on figurati on></plugi n><plug in><groupld></groupld><artifactld>dockermave n-plugi n</artifactld><version><con figurati on><imageName><dockerDirectory>src/ma in/docker</dockerDirectory><pushlmage>true</pushl

6、mage><resources><resource>targetPath>/</targetPath><directory>$</resource></resources></con figurati on></plugi n></plug ins>在src/main/下建立docker目录,并新建Dockerfile ,内容女口 F:FROM java:8VOLUME /tmpADDEXPOSE 8080CMD java -jardocker当程序经过测试并提交到 gitl

7、ab后,jenkins将口动构建并扌J包成docker仓库。同时jenkins会通知远程服务下载该镜像并重新运行。3.集成 mybatis所有数据库操作采用Mybatis来管理。集成Mybatis关键配置如下:添加依赖<dependency ><groupld ></ artifactld ><i nclude>$<dependency >vgroupld >vartifactld >mybatis_spri ngboot"starter"testvversion ></ dependenc

8、y ><!以mysql数据库为例一><dependency >vgroupld >mysql </ groupId >vartifactld>mysql-c onn ectorjava</ artifactld >vversion ></ dependency >(托管于gitldb上,由配置服务统一管理)主要配置如下: 二classpath:&characterE ncod in g=utf-8镜像发布到远程资源的配置结构如下图:其中内容:v! DOCTYPEconfigurationPUBLIC &

9、quot;一 ropertiesv/ include >vinclude >*/*x v/ include >v/ includes > vfiltering >false v/ filtering</ resource ></ resources > vplugins >vplugin ><groupId >vartifactld >spr in g-boot-mave nplugi nv/artifactld ><con figurati on >vfork >true </

10、fork ></ con figurati on ></ plugin ><plugin ><groupId ></groupld ><artifactld >dockermave nTlugi n</ artifactld ><version ><configuration<imageName>vdockerDirectory >src/ma in /docker </ dockerDirectory >vpushlmage >true </ pushimage >vresources >vresource >vtargetPath >/ </ targetPath ><include >$vdirectory >

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论