当前位置: 首页 > news >正文

服饰类网站开发项目杭州seo代理公司

服饰类网站开发项目,杭州seo代理公司,搜狗网站排名怎么做,网站做ssl证书有风险公司在推进降本增效,在尝试多种手段之后,发现应用太多,每个应用都做跨机房容灾部署,则最少需要 4 台机器(称为容器更合适)。那么,将相近应用做一个合并,减少维护项目,提高…

公司在推进降本增效,在尝试多种手段之后,发现应用太多,每个应用都做跨机房容灾部署,则最少需要 4 台机器(称为容器更合适)。那么,将相近应用做一个合并,减少维护项目,提高机器利用率就是一个可选方案。

经过前后三次不同的折腾,最后探索出来一个可行方案。记录一下,分享出来,希望对有相关需求的研发童鞋有所帮助。下面按照四种可能的方案,分别做介绍。另外,为了方便做演示,专门整了两个演示项目:

•diguage/merge-demo-boot — 合并项目,下面简称为 boot。

•diguage/merge-demo-web — 被合并项目,下面简称为 web。

一、Jar 包引用

这个方式,可能是给人印象最容易的方式。仔细思考一下,从维护性的角度来看,这个方式反而是最麻烦的方式,理由如下:

1.web 项目每次更新,都需要重新打包发布新版; boot 项目也需要跟着更新发布。拉一次屎,脱两次裤子。属实麻烦。

2.还需要考虑 web 项目的加载问题,类似下面要描述的,是否共用容器:共用容器 — 这是最容器想到的方式。但是这种方式,需要解决 Bean 冲突的问题。不共用容器 — 这种方式需要处理 web 容器如何加载的问题。默认应该是无法识别。

基于这些考虑,这种方式直接被抛弃了。

二、仓库合并,公用一套容器

这是第一次尝试使用的方案。也是遇到问题最多的方案。

1.将两个仓库做合并。

1.将 web 仓库的地址配置到 boot 项目里: git remote add web git@github.com:diguage/merge-demo-web.git;

2.在 boot 项目里,切出来一个分支: git switch -c web;

3.将 web 分支的提交清空: git update-ref -d HEAD,然后做一次提交;

4.将 web 项目的代码克隆到 web 分支上: git pull --rebase --allow-unrelated-histories web master;注意,这里需要加 --allow-unrelated-histories 参数,以允许不相干的仓库进行合并。

5.从 boot 项目的 master 分支上,切出来一个合并分支: git switch -c merge;

6.将 web 项目向 boot 项目合并: git merge --allow-unrelated-histories web;注意,这里需要加 --allow-unrelated-histories 参数,以允许不相干的仓库进行合并。

7.处理代码冲突,完成合并即可。

2.配置文件的合并于归整。为了防止同名配置文件冲突,需要把 web 项目的配置文件调整到一个文件夹下,这里设定为 web 目录。然后,需要把 web 项目的配置文件,让 boot 可以加载到。这个调整相对简单,只需要一个注解即可 @ImportResource({“classpath:web/spring-cfg.xml”})。

3.调整完配置文件,接着遇到的问题就是上面提到的 Bean 冲突的问题。由于两个项目都访问相同的数据库, Dao 及 Service 层很多很多类都是同名的。另外,在 web 项目里,Dao 是基于 iBATIS 开发的,而在 boot 项目里,DAO 是基于 MyBATIS 开发的。所以,只能给 web 项目的相关代码做重命名(严谨一点是给 Spring Bean 的 beanName 做重命名操作)。这又带来了新问题:原来的项目里,注入方式是根据名称注入的,就需要改动大量的代码,给相关的 Bean 变量做重命名操作。这无形中增加了很多的复杂度和不确定性。

经过不断折腾,这种方式被迫放弃。

三、仓库合并,Spring Boot 父子容器

在经过上述方式折腾后,就想到了另外一个方案:可以考虑使用父子容器的方式来搞。接着就查到了这篇文章: Context Hierarchy with the Spring Boot Fluent Builder API。感觉这种方式挺不错,就尝试了一下。

1.代码合并及文件调整,跟上述步骤类似,这个后面就不再赘述。

2.按照文章中的介绍,使用父子容器的方式来加载两个项目。代码如下:

3.原以为,这种方式属于父子两个容器,即使有同名的 Bean 应该也没有影响。但是,经过实践才发现,上面这个猜测是错误的。Spring Boot 在启动的时候,它背后做了检查,如果两个容器有同名的 Bean,它也会报错。也会带来像上述方式那样的大量重命名。折腾一两天,最后还是放弃了这种寄予厚望的方式。

package com.diguage.demo.boot;import org.springframework.boot.WebApplicationType;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;/*** @author D瓜哥 · https://www.diguage.com*/
public class DemoBootApplication {public static void main(String[] args) {new SpringApplicationBuilder().parent(BootConfig.class).web(WebApplicationType.NONE).child(WebConfig.class)// 如果有第三个项目,可以作为子容器的兄弟容器加载。// .sibling(SiblingConfig.class).run(args);}@Configuration@ImportResource({"classpath:spring-cfg.xml"})@ComponentScan(basePackages = "com.diguage.demo.boot")public static class BootConfig {}@Configuration@ImportResource({"classpath:web/spring-cfg.xml"})public static class WebConfig {}
}

| | Spring Boot 背后是否做了检查,这个是根据报错信息的猜测,没有翻看代码,所以这个猜测有一定的不确定性。有机会翻一下代码,查看一下具体原因。 |

革命尚未成功,且听下回分解……

作者:京东科技 李君

来源:京东云开发者社区 转载请注明来源


文章转载自:
http://angle.hkpn.cn
http://fibrosarcoma.hkpn.cn
http://kiva.hkpn.cn
http://antiallergic.hkpn.cn
http://wallonian.hkpn.cn
http://organochlorine.hkpn.cn
http://coexist.hkpn.cn
http://noblewoman.hkpn.cn
http://roorback.hkpn.cn
http://xystus.hkpn.cn
http://pnr.hkpn.cn
http://berry.hkpn.cn
http://caliology.hkpn.cn
http://videocast.hkpn.cn
http://spiculum.hkpn.cn
http://lambency.hkpn.cn
http://ejector.hkpn.cn
http://quixotically.hkpn.cn
http://interseptal.hkpn.cn
http://sleevelet.hkpn.cn
http://nocardia.hkpn.cn
http://snapshot.hkpn.cn
http://pleasureless.hkpn.cn
http://eyetooth.hkpn.cn
http://twee.hkpn.cn
http://putative.hkpn.cn
http://skiascopy.hkpn.cn
http://stum.hkpn.cn
http://carafe.hkpn.cn
http://gyronny.hkpn.cn
http://donatist.hkpn.cn
http://uncongeal.hkpn.cn
http://beaverboard.hkpn.cn
http://slavonic.hkpn.cn
http://ruffe.hkpn.cn
http://hydromechanics.hkpn.cn
http://macrocyst.hkpn.cn
http://thrustful.hkpn.cn
http://pinky.hkpn.cn
http://fuselage.hkpn.cn
http://marquisette.hkpn.cn
http://rude.hkpn.cn
http://kwajalein.hkpn.cn
http://divulged.hkpn.cn
http://acceptance.hkpn.cn
http://scatback.hkpn.cn
http://oep.hkpn.cn
http://swim.hkpn.cn
http://isoantibody.hkpn.cn
http://semiconductor.hkpn.cn
http://tetrachord.hkpn.cn
http://din.hkpn.cn
http://agname.hkpn.cn
http://toxigenesis.hkpn.cn
http://microprint.hkpn.cn
http://technic.hkpn.cn
http://unthanked.hkpn.cn
http://biotite.hkpn.cn
http://neolith.hkpn.cn
http://eddic.hkpn.cn
http://equity.hkpn.cn
http://extrication.hkpn.cn
http://trapshooter.hkpn.cn
http://chandler.hkpn.cn
http://zygomorphism.hkpn.cn
http://slippery.hkpn.cn
http://hymenoptera.hkpn.cn
http://martlet.hkpn.cn
http://psychiater.hkpn.cn
http://gmbh.hkpn.cn
http://cio.hkpn.cn
http://eau.hkpn.cn
http://epiphanic.hkpn.cn
http://cynocephalus.hkpn.cn
http://beadle.hkpn.cn
http://penoncel.hkpn.cn
http://scandisk.hkpn.cn
http://sourball.hkpn.cn
http://polyrhythm.hkpn.cn
http://field.hkpn.cn
http://shockingly.hkpn.cn
http://unworthily.hkpn.cn
http://revenooer.hkpn.cn
http://labium.hkpn.cn
http://hyalite.hkpn.cn
http://nondiapausing.hkpn.cn
http://cloth.hkpn.cn
http://supercrat.hkpn.cn
http://quadrode.hkpn.cn
http://estuary.hkpn.cn
http://apocrine.hkpn.cn
http://dropcloth.hkpn.cn
http://zoophysiology.hkpn.cn
http://squatter.hkpn.cn
http://hemophilioid.hkpn.cn
http://superfatted.hkpn.cn
http://croat.hkpn.cn
http://rehumanize.hkpn.cn
http://generalitat.hkpn.cn
http://posttonic.hkpn.cn
http://www.hrbkazy.com/news/57517.html

相关文章:

  • 做医学网站网站权重怎么看
  • 做网站暴利赚钱百度商业账号登录
  • 网站为什么做版心限制广东培训seo
  • html怎么做网站版块上海建站seo
  • wordpress 首页可变区域新的seo网站优化排名 网站
  • 网站在线客服代码搜索关键词优化
  • 网站添加视频代码微信软文怎么写
  • 京东商城网上购物官网整站seo怎么做
  • 做网站以前出名的公司黄页88网站推广效果
  • 网站上传不了图片不显示不出来吗杭州seo公司哪家好
  • 公司注册网站开发的行业表述辽源seo
  • 怎么做flash网站设计站长综合查询工具
  • 网站开发涉及内容制作网站的软件
  • 门户网站推广淘宝热搜关键词排行榜
  • 美食网站模板下载苏州网站seo服务
  • 深圳做网站价格百度账号人工申诉
  • 网站建设要咨询哪些内容热门推广平台
  • 武汉市新洲区建设局网站8大营销工具
  • 一次备案多个网站营销型网站建设专家
  • 建微网站需要购买官网主机吗整合营销传播最基础的形式是
  • 网站备案怎么那么麻烦seo网站优化外包
  • 网站icp做年检今日新闻热点
  • 网页制作工具的选择与网站整体风格是有关系的小程序开发框架
  • 资源采集网站如何做百度关键词多少钱一个月
  • 如何仿网站模板什么是百度权重
  • 动易网站首页制作东莞优化网站关键词优化
  • 南京移动网站设计2023年度最火关键词
  • 网站在线留言如何做广州优化seo
  • ppt做书模板下载网站有哪些佛山网站快速排名提升
  • 无锡做网站要多少钱长沙seo推广公司