一、需求描述
旧项目做好之后,已经维护了一两个月,基本上已经趋于稳定,按照项目的整体进度基本上不会在做什么改动。新项目已经确定
下来,只是有一个大概的需求,unity3d的客户端已经开始做,在这个月23号之前会要求先出一个游戏的版本。目前相对来说不是太忙,
自己就考虑着开始搭建新项目的框架,首先考虑的就是先搭建网关服务。之前的项目由于工期非常短,并且非常急就没有把网关服务
给加进去,现在有时间了自己就想着第一个任务就是先添加网关服务,之后在根据需要在添加其他的服务。
二、需求分析
自己的一个了解,网关服务可以做很多事情,比如实现所有访问请求的日志采集;身份认证,是否已经登录,是否有权限登录某个
系统;如果系统的访问量比较大的话,还可以做负载均衡;还可以做路由转发,根据不同的路由转发到对应的服务。好处这么多当然需要
使用一个网关服务来作为项目的统一入口,做各种事情。
三、技术选型
由于现在技术更新得特别快,比如springboot的版本一直在不断地进行更新,支持时间也在不断地压缩。
参考了很多资料,最终自己采纳选择2.3.x的springboot版本,springcloud和springcloudalibaba的版本如下,
<!-- 依赖的jar包所对应的版本 --> <properties> <spring-cloud.version>Hoxton.SR9</spring-cloud.version> <spring-cloud-alibaba.version>2.2.6.RELEASE</spring-cloud-alibaba.version> <!--<spring-cloud-starter-alibaba-nacos-config.version>1.4.2</spring-cloud-starter-alibaba-nacos-config.version>--> <!-- 编译插件 mvn compile --> <maven-compiler-plugin.source>1.8</maven-compiler-plugin.source> <maven-compiler-plugin.target>1.8</maven-compiler-plugin.target> <maven-compiler-plugin.encoding>UTF-8</maven-compiler-plugin.encoding> <!-- 是否跳过单元测试 解决中文乱码 --> <maven-surefire-plugin.skipTests>true</maven-surefire-plugin.skipTests> <maven-surefire-plugin.argLine>-Dfile.encoding=UTF-8</maven-surefire-plugin.argLine> <mybatis-generator-maven-plugin.version>1.3.2</mybatis-generator-maven-plugin.version> </properties> <!-- 单个子项目特有的jar包 --> <