动态ip

>

代理ip软件

>

换ip软件

>

HTTP代理

>
Socks5代理
黑核动态ip代理
您的位置: 首页 > 新闻资讯 > 正文

换IP的是你,凭什么重启的却是我?

发布时间:2020-02-06 14:49:39 来源:黑核动态ip代理

分享到

  一、缘起

  很多公司,技术经常遇到这样的场景:

  1)硬件升级,要换一台高配机器

  2)网络重新规划,若干服务器要调整机架

  3)服务器当机,要重新部署恢复服务

  …

换IP的是你,凭什么重启的却是我?

  更具体的,如上图:数据库换了一个ip,此时往往连接此数据库的上游需要修改配置重启,如果数据库有很多上游调用方,改配置重启的调用方会很多,每次换ip的成本往往很高,成为大家共性的痛点。

  由A的调整(数据库换ip),配合修改和调整的却是BCDE(改配置重启),BCDE内心非常的郁闷:明明换ip的是你,凭什么配合重启的却是我?

  根本上,这是一个“架构耦合”的问题,是一个架构设计上“反向依赖”的问题,本文将讨论的是架构设计中常见的“反向依赖”的设计,以及对应的优化方案,希望对大伙有所启示。

  二、如何寻找不合理“反向依赖”

  方法论:

  变动方是A,配合方却是BCDE

  (或者说需求方是A,改动方确是BCDE)

  想想“换IP的是你,配合重启的却是我”更好理解。

  如果系统中经常出现了这类情况,就是“反向依赖”的特征,往往架构上有优化的空间。

  三、常见的“反向依赖”与优化方案

  【case1:公共库导致耦合】

换IP的是你,凭什么重启的却是我?

  三个服务s1/s2/s3,通过一个公共的库biz.jar来实现一段业务逻辑,s1/s2/s3其实间接通过biz.jar耦合在了一起,一个业务s1修改一块公共的代码,导致影响其他业务s2/s3,架构上是不合理的。

  优化方案1:业务垂直拆分

换IP的是你,凭什么重启的却是我?

  如果biz.jar中实现的逻辑“业务特性”很强,可以拆分为biz1.jar/biz2.jar/biz3.jar,来对s1/s2/s3进行解耦。这样的话,任何业务的改动,影响范围只是自己,不会影响其他人。

  优化方案2:服务化

换IP的是你,凭什么重启的却是我?

  如果biz.jar中实现的逻辑“业务共性”很强,可以将biz.jar优化为biz.service服务,来对s1/s2/s3进行解耦。服务化之后,兼容性能更好的通过接口自动化回归测试来保证。

  基础服务的抽象,本身是一种共性聚焦,是系统解耦常见的方案。

  【case2:服务化不彻底导致耦合】

换IP的是你,凭什么重启的却是我?

  服务化是解决“业务共性”组件库导致系统耦合的常见方案之一,但如果服务化不彻底,service本身也容易成为业务耦合点。

  典型的服务化不彻底导致的业务耦合的特征是,共性服务中,包含大量“根据不同业务,执行不同个性分支”的代码。

  switch(biz-type)

  case biz-1:exec1

  case biz-2:exec2

  case biz-3:exec3

  …

  在这种架构下,biz-1/biz-2/biz-3有个性的业务需求,可能导致修改代码的是共性的biz-service,使其成为研发瓶颈,架构上也是不合理的。

  优化方案:业务特性代码上浮,业务共性代码下沉,彻底解耦

换IP的是你,凭什么重启的却是我?

  把swithc case中业务特性代码放到业务层实现,这样biz-1/biz-2/biz-3有个性的业务需求,升级的是自己的业务系统。

  【case3:notify的不合理实现导致的耦合】

换IP的是你,凭什么重启的却是我?

  《究竟什么时候该使用MQ》一文中有一类业务场景,消息发送方不关注消息接收方的执行结果,如果采用调用的方式来实现通知,会导消息发送方和消息接收方耦合。

  如何新增消息接收方biz-4,会发现修改代码的是消息发送方,新增一个对biz-4的调用,极不合理。

  优化方案:通过MQ实现解耦

换IP的是你,凭什么重启的却是我?

  消息发送方upper将消息发布给MQ,消息接收方从MQ去订阅,任何新增对消息的消费,upper都不需要修改代码。

  【case4:配置中的ip导致上下游耦合】

换IP的是你,凭什么重启的却是我?

  即“缘起”中举的例子,下游服务换ip,可能导致多个服务调用方修改配置重启。上下游间接的通过ip这个配置耦合在了一起,架构不合理。

  优化方案:通过内网域名而不是ip来进行下游连接

换IP的是你,凭什么重启的却是我?

  如果在配置中使用内网域名来进行下游连接,当下游服务或者数据库更换ip时,只需要运维层面将内网域名指向新的ip,然后统一切断原有旧的连接,连接就能够自动切换到新的ip上来。这个过程不需要所有上游配合,非常帅气,强烈推荐!

  【case5:下游扩容导致上下游耦合】

换IP的是你,凭什么重启的却是我?


  这次不是换换ip这么简单了,下游服务提供方原来是集群(ip1/ip2/ip3,当然,上游配置的是内网域名),现在集群要扩容为(ip1/ip2/ip3/ip4/ip5),如果没有特殊的架构设计,上游往往需要修改配置,新增扩容后的节点,再重启,导致上下游耦合。

  这类case,大伙有什么好的方案解耦么?

  技术细节,且听下回分解。

  四、总结

  如何发现系统架构中不合理的“反向依赖”设计?

  回答:

  (1)变动方是A,配合方却是BCDE

  (2)需求方是A,改动方确是BCDE

  想想“换IP的是你,配合重启的却是我”,此时往往架构上可以进行解耦优化。

  常见反向依赖及优化方案?

  (1)公共库导致耦合

  优化一:如果公共库是业务特性代码,进行公共库垂直拆分

  优化二:如果公共库是业务共性代码,进行服务化下沉抽象

  (2)服务化不彻底导致耦合

  特征:服务中包含大量“根据不同业务,执行不同个性分支”的代码

  优化方案:个性代码放到业务层实现,将服务化更彻底更纯粹

  (3)notify的不合理实现导致的耦合

  特征:调用方不关注执行结果,以调用的方式去实现通知,新增订阅者,修改代码的是发布者

  优化方案:通过MQ解耦

  (4)配置中的ip导致上下游耦合

  特征:多个上游需要修改配置重启

  优化方案:使用内网域名替代内网ip,通过“修改DNS指向,统一切断旧连接”的方式来上游无感切换

  (5)下游扩容导致上下游耦合

  特性:多个上游需要修改配置重启

  换IP的是你,凭啥配合重启的却是我。


相关资讯

换IP的是你,凭什么重启的却是我?

一、缘起很多公司,技术经常遇到这样的场景:1)硬件升级,要换一台高配机器2)网络重新规划,若干服务器要调整机架3)服务器当机,要重新部署恢复服务…更具体的,如上

来源:黑核动态ip代理

2020-02-06 14:49:39

玩英雄联盟用什么加速器好?

这年头玩个游戏都不省心啊,老是延迟,正拿着一把大刀上去砍人的时候突然延迟了,等反应过来的时候人已经回复活点了,所有的优雅走位都还没有没用上,只能看到倒地等复活的

来源:黑核混拨IP加速器网

2018-12-27 14:52:40

还在纠玩结英雄联盟用什么加速器好吗?来试试这个

你们玩游戏有没有试过延迟过千的啊?或者说延迟几百,反应总是慢半拍的?总是玩的爽的时候突然给你来卡一下,让你轻松愉快的心情瞬间不爽,游戏把不能不玩,但是玩也要玩的

来源:黑核混拨ip加速器网

2018-12-27 15:58:08

什么是ip代理软件?可以修改ip地址吗?

经常碰到朋友问,代理IP是做啥的,有什么用。我对他一顿解释,然后他还是云里雾里,好吧,可能是我口才不好,这里写文再解释下。代理IP对于很多人来说,用处很大,他们

来源:黑核混拨ip加速器网

2018-12-27 17:27:18

使用代理ip有什么好处?

现在,高匿代理ip时代已经到来,但是,还是有很多人不了解高匿代理ip到底有什么用,虽然随着网络科技的发展,网络对我们的生活带来了很多方便,也带来了更多的选择,网

来源:黑核混拨ip加速器网

2018-12-28 15:00:45

爬虫技术工程师为什么离不开ip代理

说到爬虫,自然离不开爬虫代理地址。爬虫是一门随着互联网大数据而应运而生的产物,它主要是为了在海量的网络数据中采集分析有效的数据而诞生的一门技术。无需多言,爬虫技

来源:黑核混拨ip加速器网

2018-12-28 15:24:23

什么情况下需要ip代理软件 ip代理软件用途

对于网络营销推广和SEO的朋友来说,数据抓取和模拟访问都是必备的工作,这两种方式都需要有大量的IP资源支持,很多用户在一些网站上面批量注册帐号、发布留言评论都会

来源:黑核混拨ip加速器网

2018-12-28 16:28:33

互联网工作中ip代理是不可缺少的工具

目前,中国的互联网大军正在不断壮大,各种各样依托互联网的新兴行业正在兴起,哪怕是很多传统行业,为了抢占竞争的制高点,也将跟友商之间的竞争搬到了互联网平台之上。对

来源:黑核混拨ip加速器网

2018-12-27 17:45:23

换ip软件帮您解决ip被封烦恼!

换ip软件帮您解决ip被封烦恼!我想做互联网工作的基本上都需要换下ip吧,很多时候我们做推广经常被封账号,特别是同一个IP自问自答马上封你没商量,但是这些推广也

来源:黑核混拨IP网

2018-12-25 15:52:02

IP地址修改器如何更改IP

很多用户在一些网站上面批量注册帐号、发布留言评论都会遇到系统的IP限制,限制批量注册、发布消息,想换IP还得要重启路由器才行,效率大大降低,这个时候就需要一个I

来源:黑核动态ip代理

2020-04-14 14:37:51

在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
客服电话
13318873961