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

网站批量查询建设网络强国征文

网站批量查询,建设网络强国征文,买域名的网站有哪些,wordpress中文网址1、前言 在日常开发过程中#xff0c;大家经常都会遇到#xff1a;新需求来了#xff0c;但是需要跟第三方接口来对接#xff0c;第三方服务还没好#xff0c;我们自己的功能设计如何继续呢#xff1f;这里#xff0c;给大家推荐一下Mock方案。 2、场景示例 2.1、场景一… 1、前言 在日常开发过程中大家经常都会遇到新需求来了但是需要跟第三方接口来对接第三方服务还没好我们自己的功能设计如何继续呢这里给大家推荐一下Mock方案。 2、场景示例 2.1、场景一公司外部间的接口调用 我们都知道联调外部接口往往都需要申请测试环境而申请外部测试环境的时间往往都很长、会耗费很多精力。当然一般都是项目经理去协调的但是作为有担当的开发人员不可能在这个空窗期摸鱼划水吧。不然等环境下来之后可就是自己苦日子的开始毕竟不催工期的项目经理还是少见的。 2.2、场景二公司内部之间的接口调用 曾经有一个项目需要我们配合另一个部门一起做。需求宣讲完后就是定排期然后我们就问合作部门“这几个接口什么时候可以联调” 因为合作部门还在赶另外一个项目便回复道“我们先一起对接口等忙完手头这个项目再给出排期可以吗” 然后我们催促道“那也得给出一个具体的上线计划啊” 在我们的催促下合作部门终于给出了一个日期。 过了几天合作部门手头的项目出现了延期又跑过来跟我们说“我们可能晚几天才能提供那些接口。” 因为需要与对方交互的接口的功能迟迟未动我们也不敢释放人手担心人手释放后项目又立马启动开发人员好不容易熟悉了新项目又要回来做这个。 为此我们坐在一起商量了一个解决思路 3、解决思路 我们希望有一个 Mock 接口服务它能提供与正式服务的 URI、出入参一样的接口区别是主机名或者 URL 的前缀不一样。 在开发和测试过程中我们都连接上 Mock 服务。等到接口或环境搭建好后我们无须修改代码通过一个简单的配置切换即可让服务连接到真实接口服务然后通过一些简单的回归测试即可实现上线大大提升了开发效率此时整体的系统架构如下图所示 不过如果我们想实现这一思路可就一点不简单了因为他包含了Mock服务端和Mock服务客户端调用设计。 4、Mock服务端设计 先说下在Mock服务端设计过程中都需要满足哪些需求 4.1、Mock接口支持返回动态字段数据 比如有个接口输入的参数为userId、orderid、redirectUrl如下所示 输出参数为success和startTime如下所示 我们希望每次调用这个Mock接口时startTime都返回当前时间如 {success:true,startTime:2023-11-12 124502} 4.2、Mock接口支持一些简单逻辑 在测试过程中我们会通过不同的测试用例走完不同的流程。 紧接着上面的例子比如我们希望调用 Mock 接口传入的 UserID 是 10001那么 Mock 接口返回的 success 值为 True否则为 False而后系统会根据不同的 success 值进入不同的流程。 4.3、Mock接口支持回调 在实际开发工作中有很多联调接口需要异步回调比如上面的例子中如果返回的 success 值是 True我们希望过一段时间回调 Redirect URL。 4.4、Mock接口支持规则校验 我们希望通过添加一些规则让这个 Mock 服务对传入的参数进行校验比如校验 UserID 是否为数字、OrderID 是否为 15 位数字、Redirect URL 是否为 URL…… 4.5、Mock接口支持接口文档导入 这一点比较特别比如某些团队在设计接口文档时直接将接口定义放在 Wiki 上而某些团队直接写在 Java 代码中再通过 Swagger 生成在线接口文档。 对于前者我们要求定义接口时直接将接口文档放在新的 Mock 服务上。而对于后者因为不想改变他们的习惯所以最终 Mock 服务需要支持 Swagger 文档导入。 根据以上五点需求我们开始在市面上找一些合适的开源框架并发现市面上收费的接口文档管理工具有 Apizza、Eolinker免费的有 YAPI 和 RAP2出于各种原因的考虑最终我们决定在 YAPI 和 RAP2 中进行选择。 这里我们可以看一下YAPI和RAP2对比 通过表中的内容对比很明显YAPI更符合我们的需求。因此在Mock服务端设计过程中我们选择基于YAPI进行二次开发。 5、Mock服务客户端调用设计 说完Mock服务端接下来我们看看调用Mock服务客户端时都需要考虑什么 5.1、Mock服务如何支持基于二进制流的接口调用 因为历史原因有些服务间调用使用 Spring Cloud Feign 而有些服务间调用使用基于二进制流序列化的 RPC当然是基于 TOP 协议。 我们知道如果服务间的通讯是基于二进制流而不是 JSON就没办法在 YAPI 上通过简单的界面定义输入输出参数了且 YAPI 也不支持二进制流的调用此时我们的解决方案如下图所示 在上面框架中我们添加了一个拦截器它会拦截所有服务间调用的请求并增加一个判断。如果访问的地址是 Mock 服务我们就使用 HTTP 协议并且通过 JSON 进行序列化和反序列这样问题就解决了。 这里我们需要补充一点曾经我还碰到过一些第三方接口使用 XML 格式很多银行的接口就是这样最终我们决定先不支持自定义XML格式的接口因为改造 YAPI 的工作量实在太大。 5.2、Mock服务客户端如何简单切换Mock与真实服务 这里我们需要考虑以下两种情况 对于第三方接口我们只需在配置中将第三方接口的 host 改为 Mock 服务的 host 即可。 对于微服务间的调用我们知道 Spring Cloud 中的微服务定义都是服务级别但是在实际开发的场景中我们需要使用接口级别的 Mock比如我们开发的 operationService它依赖 productService 的几个接口。因此在新项目中我们还需要在 productService 中新增几个接口且它们必须调用 Mock 服务的接口而原先的接口继续调用真实的 productService 中原来已经做好的接口。此时我们需要在配置中心增加 2 个配置项mock.apis 和 mock.host每次服务间调用时先判断调用的 URI 是否在 mock.apis 字符串列表中如果在则让它调用 mock.host 这台机器。特别说明一点关于这点曾经我们也出过错。因为在上线时配错了 mock.apis 和 mock.host导致线上环境使用了 Mock 服务的情况所以我们需要多考虑下面这点。 5.3、如何预防线上环境使用Mock服务 对于此问题我们做了一个检查代码在服务启动时先判断当前的环境名称如果是 prod线上环境先判断 mock.apis 中是否有值有值的话提示异常。然后扫描所有的 properties 配置如果配置中包含 Mock 服务地址则说明有些地方配置了 Mock 服务的调用也提示异常。 到这里整体的 Mock 调用方案就完成了。 以上就是关于Mock服务端与客户端的设计与实现思路有更好的方案或思路 可以联系我哦 微信公众号服务端技术精选 淘宝小店淘宝小店 个人小网站小网站 本文由 mdnice 多平台发布
http://www.pierceye.com/news/631456/

相关文章:

  • 宁夏网站建设费用地址wordpress建站好用吗
  • 微信网站制作哪个好吕梁网站制作
  • 手机怎么制作自己的网站线上运营推广方案
  • 泉州企业制作网站wordpress上传顶部图像
  • php建立网站广州创意设计公司
  • 东营专业网站建设济南天桥区网站建设公司
  • 鹤壁做网站多少钱网站开发 简单留言板
  • 网站建设 阿里东莞seo建站优化公司
  • logo设计竞标网站wordpress攻击跳转
  • 专门做瑜伽的网站wordpress docker镜像
  • 中国航天建设集团有限公司网站wordpress建站 防攻击
  • 买邮箱的网站网站与系统对接图文方案
  • 网页和网站区别wordpress展示企业主题免费
  • 网站制作过程个人网站吗
  • gta5网站建设中温州建设局老网站
  • 凤岗仿做网站专业网站设计制作优化排名
  • 企业网站seo优化德国设计网站大全
  • 重庆网站制作公司电话whois域名查询
  • 六安网站自然排名优化价格自己做网站前端开发
  • 网站发布与推广怎么写广东省城乡建设厅网站
  • 用ipv6地址做网站访问上海网址推广
  • 手把手教你做网站 3北京网站建设是什么
  • 建设商务网站目的及功能定位惠州专业网站建设公司哪里有
  • 网站建设技术 教材迈若网站建设
  • 服务器正常网站打不开旅游app排行榜前十名
  • 网站建设服务套餐免费net网站空间
  • 导购网站怎么推广公司建多个网站
  • 做相册集什么网站电脑谷歌浏览器打开是2345网址导航
  • 做网站顾客提现金额后台私做网站名电子章
  • ps做网站素材文件打包开源软件开发