Web 服务版本控制和服务器端处理

2024-04-04

我正在尝试设计一种 Web 服务版本控制策略以及如何从 SCM 的角度处理版本。

我们正在做自下而上(JAX-WS)服务,因此对架构的控制较少,并且无法遵循最佳实践的某些架构版本控制。我目前的想法是:

1) 主要变化(不向后兼容):

  • 通过新服务 URL(URL 版本控制)传输到 API 客户端。例如。:

http://com.example/v1/MyService http://com.example/v1/MyService

http://com.example/v2/MyService http://com.example/v2/MyService

我认为这减少了客户和开发人员的麻烦。客户端仅更新服务 URL(通常在一处),而不是更新所有服务调用(例如使用服务名称版本控制时 - MyServiceV1、MyServiceV2,...)。

  • 在服务器端,这通过在 SVN 中标记服务来反映:MyService-[major].[minor]我的服务-1.0

2) 小改动(向后兼容):

  • 这是我比较疑惑的地方。一些最佳实践涉及修改架构命名空间,这又涉及兼容客户的升级。

  • 在服务器端很清楚,因为我使用上面的策略([service_name]-[major].[minor])

感谢您对上述策略的意见以及对次要版本的建议。


对于主要版本,我认为您走在正确的道路上,但我不会使用“v”,而只是使用数字。

对于次要版本,我没有看到太大的问题,如果它是向后兼容的,那么这意味着更改是在代码上而不是接口上(最多会添加一个新方法),所以你只需要处理您即将部署新版本时正在处理的请求。但这可以通过在处理最后一个请求后立即禁用更新服务来解决。

如果您破坏了两个小的更改,则可以使用与您所说的主要版本相同的策略来添加方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web 服务版本控制和服务器端处理 的相关文章

  • SVN 结账时出现分段错误:11

    我想从 code google com 获取项目 我搜索了 google 发现 svn 是随 Mac OS 一起提供的 我们只需要在终端中输入命令即可 这是该项目 svn checkout http piccolo2d googlecode
  • Java 中的 sscanf 等效项[重复]

    这个问题在这里已经有答案了 可能的重复 用于使用已知模式解析字符串中的值的 sscanf 的 Java 等效项是什么 https stackoverflow com questions 8430022 what is the java eq
  • Spring Boot“没有可用消息”错误(状态 = 404),

    我正在使用带有嵌入式 Tomcat 的 Spring Boot 当它启动时 它会登录到控制台 s w s m m a RequestMappingHandlerMapping 将 home 映射到公共 java lang String co
  • 访问 java jigsaw 模块中的资源文件[重复]

    这个问题在这里已经有答案了 我正在尝试从项目中的类访问 Eclipse 项目中的文件 我需要将该项目声明为 jigsaw 模块才能从其他项目访问它 但是通过这样做 我无法再访问项目中的 example png 等文件 这是我的项目结构 pr
  • 确定范围是否重叠

    给定两个具有整数开始时间和结束时间的事件 E1 s1 e1 E2 s2 e2 实现快速布尔检查以查看事件是否重叠 我有解决方案 但我很想看看其他人想出了什么 编辑 好的 这是我的解决方案 e1 gt s2 s1 gt s2 e2 lt s1
  • Netflix Archaius 动态配置

    我正在将 Hystrix 集成到现有项目中 并且希望从 xml 文件中读取配置值 而不是使用配置管理器提供配置属性 当 xml 文件中的值更新时 我希望 Hystrix 配置在运行时更新 这是我遵循的指南 https github com
  • 当派生类中重写该方法时,如何使用派生类 Object 调用基类方法?

    class A public void m1 System out println hi base class class B extends A public void m1 System out println hi derived p
  • 运行Java程序时出错

    我正在尝试使用 netbeans 运行我的 java 程序 但收到此错误 有什么建议吗 Exception in thread AWT EventQueue 0 java lang NullPointerException at javax
  • 如何使用 apache commons cli 指定多个选项?

    我想要这样的东西 java programName jobs1 C 10 W 20 java programName job2 java programName job3 含内容 Option o1 new Option job2 some
  • 正则表达式的替代(流畅?)界面设计

    我刚刚看到了一个巨大的 Java 正则表达式 这让我对正则表达式的一般可维护性进行了一些思考 我相信大多数人 除了一些糟糕的 Perl 贩子 都会同意正则表达式很难维护 我正在考虑如何解决这种情况 到目前为止 我最有希望的想法是使用流畅的界
  • 获取运行时提供的类名的 n 维数组的类

    给定一个完全限定的类名和多个维度 我想获取该类的类名 我相信我可以这样做 public Class elementType Class forName className return Array newInstance elementTy
  • java.util.Objects 与Optional 哪个更可取?

    The java util Objects http download java net java jdk9 docs api java util Objects html类通过许多新方法进行了扩展 对象 requireNonNullEls
  • 想要从 beanIO 字段名称标签在 csv 中写入标题

    我想在 csv 文件中写入标题 因为我的文本文件不包含任何标题 所以我想从 beanIO 字段名称标签写入它 我有一个 beanIO 有两个流 一个用于读取 另一个用于写入 这是输入文件 文本输入 txt 1 约翰 露 BA xxx1萨姆
  • 如何从 Java 类调用 Kotlin 类

    我需要将意图从 java 活动传递到 Kotlin 活动 Java活动ProfileActivity class Intent selectGameIntent new Intent ProfileActivity this kotlin
  • 如何将捕获的图像写入/粘贴到文档文件?

    我有一个场景 我需要捕获图像并将它们一个接一个地写入到一个word文件中 我已经编写了下面的代码 但似乎不起作用 请帮忙 Robot robot try robot new Robot BufferedImage screenShot ro
  • java POI XSSF 公式评估器

    我在保存新的 Excel 文件时遇到问题 我希望当它被保存时 公式会自行计算 但目前它只是返回 Excel 文件中的一个字符串 公式是正确的 我不知道到底要得到FormulaEvaluator上班 这是我输入返回字符串的公式的地方 data
  • 在 init 之外在 java 中创建对象

    因此 对于我正在创建的游戏 我有一些扩展 GameDriver 的类 到目前为止 在所有其他类上我都能够扩展 GameDriver 然后在 GameDriver 中我可以执行以下操作 ArrayList
  • Java中如何对整数除法进行四舍五入并得到int结果? [复制]

    这个问题在这里已经有答案了 我刚刚写了一个小方法来计算手机短信的页数 我没有选择使用Math ceil 老实说 它看起来很丑陋 这是我的代码 public class Main param args the command line arg
  • 如何使用 itext 在 pdf 页脚上添加页码,它应该照顾其宽度?

    我的代码示例如下 Override public void onEndPage PdfWriter writer Document document addFooter writer private void addFooter PdfWr
  • ByteBuddy 变基、合成类型和 OSGi

    我为 byte buddy 开发了以下拦截器 public class SecurityInterceptor RuntimeType public static Object intercept SuperCall Callable su

随机推荐

  • 使用 C++ 登录到 Windows 上的事件查看器 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在我的 C 应用程序上使用日志 但是 我想使用 Windows 10 事件查看器 而不是文本文件 我
  • 如何将“捐赠”按钮集成到印度的网站中?

    我们正在为印度的慈善信托基金开发一个网站 为此 我们需要在网站上添加一个 捐赠 按钮 供任何想要通过支付网关向慈善机构捐赠的人使用 然而 Paypal 和 Google Wallet Google Checkout 都限制在印度使用 捐赠
  • 杰克逊:将对象视为原始对象

    我有一门或多或少是围绕双精度型的包装类 当我通过 Jackson 序列化我的类时 我将收到类似以下内容的信息 value 123 0 我基本上希望发生的是 杰克逊只给我 123 0 0 如果我可以扩展 Number 我的问题就会得到解决 但
  • 用每列的组平均值填充 NaN [重复]

    这个问题在这里已经有答案了 我知道fillna 方法可用于在整个数据框中填充 NaN df fillna df mean fill with mean of column 如何将平均值计算限制为 NaN 所在的组 和列 Exemple im
  • ng-if="true" + data-ng-if="true" 计算结果为 false?

    事实是 如果你使用ng if truthyValue and data ng if truthyValue 里面一个html元素使用角JS 1 6 受影响的元素不会在DOM 即使您使用 这也是如此ng if and data ng if与b
  • ActionScript 的 File.upload 不适用于 iOS 设备的 Air SDK

    我尝试使用 ActionScript 的 File upload 在 Air SDK for iOS 环境中上传文件 但 File upload 无法正常工作 调用 File upload 后 不会执行有关文件上传的处理程序 也不会捕获任何
  • Node.js 12 的 TypeScript tsconfig 设置?

    最佳的 TypeScript 是什么tsconfig用于输出将在 Node js 12 上运行的代码的设置 从 Node js 开始12 0 0 100 支持ES2019 如果您知道您的目标是该版本或更高版本 则最佳配置将如下所示 modu
  • 为什么 TypeScript 中受保护的成员可以被公共成员覆盖?

    我是 Typescript 的新手 我尝试在本文中使用 TypeScript 进行一些尝试操场 http www typescriptlang org play 我注意到在 TypeScript 中 基类中的受保护成员可以被公共成员覆盖 c
  • 如何创建 pip 可安装项目?

    如何创建 pip 可安装项目 如何注册 pip 所有项目都应该具有哪些元数据配置 以便允许集成和轻松导入 或者 如果你感觉很奇特 阅读 lazy sudo easy install PasteScript paster create myn
  • 实体框架 4 Visual Studio 2008

    我一直在四处寻找并试图查看 Entity Framework 4 是否可以在 Visual Studio 2008 下运行 但找不到任何对它的引用 可以让 EF4 在 VS2008 上运行吗 On the ADO NET 实体框架团队博客
  • 动画同步、光标和突出显示

    所以我几乎有了我的code http jsfiddle net bplumb PBFWV 9 按照我想要的方式工作 但无法让我的动画正确同步 我正在尝试对光标进行动画突出显示文本 然后单击按钮 问题是光标要么太慢 要么太快 我正在尝试做这个
  • C 语言快速联合实现中的分段错误(核心转储)

    include
  • 如何创建包含不同元素和操作的列表?

    我想创建包含不同类型项目的列表 他们应该调用不同的意图或做其他事情 显示地图等 它应该像联系方式一样 项目和操作的数量是预定义的 如何优雅地达到这样的效果呢 我不需要确切的代码 但需要指导方针和信息 任何帮助将不胜感激 UPDATE 我所说
  • 如何从 CDK 上的 CodePipeline 获取源工件?

    我正在使用官方 AWS 文档来使用 CDK 创建管道 https docs aws amazon com cdk latest guide cdk pipeline html cdk pipeline define https docs a
  • Spark:Java 中 forEach 循环中的任务不可序列化异常

    我正在尝试迭代 JavaPairRDD 并使用 JavaPairRDD 的键和值执行一些计算 然后将每个 JavaPair 的结果输出到处理后的数据 list 我已经尝试过的 将我在 lambda 函数内部使用的变量设为静态 make 方法
  • C# SWIG 向量 到 string[]

    给定 C 方法 例如 std vector lt std string gt getFoo void setFoo const std vector lt std string gt foo 我怎样才能让 SWIG 像这样将它暴露给 C s
  • Object.assign 与 lodash _.assign

    查看文档ES6 对象 分配 https developer mozilla org en US docs Web JavaScript Reference Global Objects Object assign and Lodash 分配
  • 在有序列表 CSS/HTML 中删除数字

    我有一个 HTML 有序列表 我需要对其应用删除线 我在 CSS 中做到了这一点 如下所示 Lower Alpha list style lower alpha margin top 2pt margin bottom 2pt text d
  • Java 类和接口名称冲突

    interface A void print class A implements A public void print System out println Hello public static void main String ar
  • Web 服务版本控制和服务器端处理

    我正在尝试设计一种 Web 服务版本控制策略以及如何从 SCM 的角度处理版本 我们正在做自下而上 JAX WS 服务 因此对架构的控制较少 并且无法遵循最佳实践的某些架构版本控制 我目前的想法是 1 主要变化 不向后兼容 通过新服务 UR