ssh改造springboot微服务系统改造升级步骤及注意事项(一)

本次系统改造是以目前市场较为前沿、主流的技术为标准进行改造、为了达到系统性能的提升、实现高并发、高可用以及增强系统可扩展性等目的。
目前修改版本为1.0版本,此版本目的明确为表现层框架的改造,微服务的改造与注册,以及负载均衡的实现,具体概括为:

一. 表现层改造(Struts2改造为springMVC)。

  1. 相关Jar包引入,其中核心包Spring-webmvc、spring-webmvc-portlet原系统自带版本3.2.2(可用),关联Jar包自行导入,例如jackson-core、jackson-annotations等。

  2. 表现层改造(Action改造为Controller):由于目前只做后端升级,前端请求地址不可变,所以映射配置要以前端的跳转地址为标准进行配置,例如:

  1. 保证入参与出参的准确:原有Struts2(类级别)框架接收参数方式与SpringMVC(方法级别)接收和返回参数方式完全不同,需要以SpringMVC的方式代替原有的接收参数的方式,保证每个接口接收自己的参数,用什么传什么接什么,代替掉原有的表现层定义一些全局变量成员变量以及ModelDriven和在父类中定义参数的一些属于Struts2的一些特性的方式,例如:

    注意:其中父类的一些改造,以及某些具体方法的需要重写以保证方法的正常运行以及返回数据的准确(自己写一个父类继承原有父类进行改造,具体改造过程遇到问题就中需要实际情况实际分析)。

  1. 由于原Struts2框架采用地址拦截等方式进行映射,并且原系统中前后端并没有做到完全分离,前端的一些初始化方法也需调用后端,所以部分前端初始化方法也需要从Jar包中引出、重写、并配置映射以保证页面的初始化以及相关组件加载成功、前端页面正常可用。


  1. 前端页面大量采用了Struts标签,需全部替换为JSTL标签,保证页面正常解析。


二. 具体系统作为微服务注册到配置中心(Eureka)统一管理。
1. 引入Eureka依赖的Jar包。

2. 引入Eureka客户端注册类(已有Demo,直接引入即可)。

3. Web.xml中配置Eureka监听器。

4. config.properties中添加Eureka相关配置信息(在原有config.properties中配置即可)。

5. 客户端注册成功,Eureka服务端已稳定运行,进入查看监控即可。


三. 服务实现多点,Ribbon自动分发,实现负载均衡,以达到承载高并发,实现高可用目的。

备注:由于父类Struts2特性较多、继承体系过于复杂,为保证现期系统正常运行,前端页面正常加载,暂时没有彻底取消成员变量接受参数的一些方式,后续会进行深度改造,彻底替换原有父类(BaseAction)、以及现有Spring体系Jar包版本为3.2.2、其他Jar包版本也过低,后续具体改造Maven或直接对接Springboot(仍须商议)的同时,Jar包也需一并升级。

ssh改造springboot微服务系统改造升级步骤及注意事项(一)相关推荐

  1. 系统改造升级步骤及注意事项(一)

    系统改造升级步骤及注意事项(一) 本次系统改造是以汇中综合业务系统中的调度系统(Dispatch)为核心展开的全面升级,以目前市场较为前沿.主流的技术为标准进行改造.为了达到系统性能的提升.实现高并发 ...

  2. 架构师带你实时解读微服务架构改造案例:天气预报系统的架构设计

    天气预报系统的架构设计 到目前为止,天气预报系统已经初具规模了.我们不但实现了天气数据的采集,还实现了数据的缓存.天气数据的API服务及天气预报UI界面等功能.天气预报系统就是一个大而全的单块架构系统 ...

  3. 微服务系列(七):将单体应用改造为微服务

    编者的话|本文来自 Nginx 官方博客,是「Chris Richardson 微服务」系列的第五篇文章.第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点:第二和第三篇描述了微服务架构模块 ...

  4. 【转】应用架构一团糟?如何将单体应用改造为微服务

    概述 将单体应用改造为微服务实际上是应用现代化的过程,这是开发者们在过去十年来一直在做的事情,所以已经有一些可以复用的经验. 全部重写是绝对不能用的策略,除非你要集中精力从头构建一个基于微服务的应用. ...

  5. Java架构师-微服务:微服务架构【单体部署 --改造--> 微服务架构】【分布式:分散压力;微服务:分散能力】【RESTFul+Docker+K8S、SpringCloud】

    一.微服务概述 微服务架构是团队面对互联网产品爆发式增长的最优选择,要解决的是快速迭代.高可靠和高可用等问题,把复杂度很高的产品拆分成一些较小的模块,并遵循康威定律,每一个模块用5-9个小团队来维护, ...

  6. 关于华为私有云部署若依springcloud微服务项目改造及部署

    关于华为私有云部署若依springcloud微服务项目改造及部署 1.项目介绍 ​ 当前微服务项目主流的注册中心为阿里巴巴的nacos,但介于甲方要求使用华为的注册中心,所以在接下来讲解项目改造: 2 ...

  7. SpringBoot搭建天气预报微服务系统

    SpringBoot搭建天气预报微服务系统 前言 本系列文章将简单的学习SpringCloud微服务相关知识,其实也是因为时间的原因,一直拖到现在,遂打算趁着假期,决定记录下来. 从天气预报微服务系统 ...

  8. 如何在一分钟内实现微服务系统下的架构可视化

    为什么需要架构可视化 随着企业进行微服务架构改造,系统架构复杂度越来越高,架构变化日益频繁,微服务改造后的实际架构模型可能与预期已经产生了巨大差异,架构师或系统运维人员很难准确记忆所有资源实例的构成和 ...

  9. 微服务系统下架构可视化上的探索

    点击▲关注 "数据和云"   给公众号标星置顶 更多精彩 第一时间直达 导读:采用微服务架构后,了解服务之间的关系及依赖是一个比较有挑战的问题.微服务改造后的实际架构模型可能与预想 ...

最新文章

  1. 一步一步asp.net_页面静态化管理
  2. 转轮机加密详解两种解题方法 -攻防世界
  3. centeros 安装mysql
  4. 前端学习(2863):简单秒杀系统学习之优化cookie
  5. 电动汽车告急?特斯拉、蔚来之后 一辆比亚迪新能源车突然自燃...
  6. 【elasticsearch】 Elasticsearch集群规模和容量规划的底层逻辑
  7. docker 测试mysql_95--Docker案例(redis测试/mysql测试/tomcat测试)
  8. 乌龟吃鱼类 -python
  9. linux下安装指定版本的nodejs(升级到指定版本)
  10. 为什么所有浏览器的userAgent都带Mozilla
  11. php合并两个有序链表,PHP如何实现合并两个有序链表为一个有序链表(代码)
  12. C++编程读取注册表文件
  13. HDU 6080 度度熊保护村庄(计算几何+floyd)
  14. Excel数据导入___你hold住么(一)
  15. HarmonyOS(二)应用开发环境搭建准备
  16. 分布式Zookeeper-基础
  17. 第三讲:如何构建双活数据中心方案
  18. NGS数据分析实践:03. 涉及的常用数据格式[4] - bed和Wiggle/Bigwig/bedgraph格式
  19. Intellij IDEA - Did you kown...?
  20. 【原创】AE菜单中英文对照完全版(贴图打包下载)

热门文章

  1. flex 布局的浏览器兼容性方案
  2. Fortran语言初探及Win7 64位下Fortran开发环境配置
  3. vue实现excel文件的导入和读取
  4. 大班音乐机器人反思_幼儿园大班音乐游戏教案《机器人》含反思
  5. 在EXCEL 2010里画斜线(斜线表头)
  6. 中年人最后的倔强 都写在头上
  7. 7-17 打印等腰直角三角形 (10分) java pta
  8. 哈佛大学构建动态网站--第七讲ajax
  9. Lucene查询操作
  10. 裸眼3D手机的技术原理