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

北京网站怎么做海外网络推广

北京网站怎么做,海外网络推广,商业网线多少钱一年,龙口有没有做网站的背景 在《分布式领域扩展点设计稿》一文中,我们提到针对业务横向扩展点和纵向扩展点的编排能力。 那有这样的一种场景:针对于一次会话,同时会调很多外部服务,同时这些RPC服务会有多种直接或间接的关系,是否有更高效的…

背景

在《分布式领域扩展点设计稿》一文中,我们提到针对业务横向扩展点和纵向扩展点的编排能力。

那有这样的一种场景:针对于一次会话,同时会调很多外部服务,同时这些RPC服务会有多种直接或间接的关系,是否有更高效的方式能够让我们的一次会话时间变得更高效,同时也能够保证系统的相对稳定性呢?

设计思想

如果开发者在设计之初,对于领域边界以及子域能力划分比较清晰,那我们编排的业务扩展点就不会杂乱无章。

在SpringBoot启动时,伴随着IOC容器的初始化,领域扩展点容器也随之完成全量向量视图初始化、向量深度视图初始化、拓扑排序之后的容器初始化。

基于动态线程池思想,可以通过扩展点容器中的编排任务,动态调整线程池?根据拓扑排序后的结果,异步执行编排的任务,完成召回、过滤以及核心业务逻辑。

设计图

在这里插入图片描述

详细设计

  1. 容器初始化时,从云端配置中心拉取扩展点编排配置文件,本地编排配置文件可以做兜底,也可以调节两者权重
  2. 拿到编排数据源之后,渲染本地向量广度视图以及向量深度视图
  3. 通过Kahn算法,将两个视图清洗成拓扑排序之后的容器
  4. 通过权衡算法,初始化动态线程池,并预热核心线程
  5. 将上述操作数据上传到我们的扩展点监控中心
  6. 通过监控水位线,可动态配置线程池相关核心参数
  7. 当一次会话开始时,会通过拓扑排序,并发去执行扩展点任务
  8. 通过向量视图,可以针对所有扩展点做召回和过滤处理

核心算法伪代码

/*** Kahn算法** @author issavior*/
public class KahnTopologicalSort {/*** 向量广度视图*/private final Map<Integer, List<Integer>> adjList = new HashMap<>();/*** 向量深度视图*/private final Map<Integer, Integer> inDegree = new HashMap<>();/*** 拓扑排序结果*/private final List<Integer> topoOrder = new ArrayList<>();/*** 渲染向量视图和向量深度** @param u 向量头* @param v 向量尾*/public void addEdge(int u, int v) {// 渲染视图adjList.putIfAbsent(u, new ArrayList<>());adjList.get(u).add(v);// 更新入度  inDegree.put(v, inDegree.getOrDefault(v, 0) + 1);inDegree.putIfAbsent(u, 0);}/*** 拓扑排序** @return 业务节点顺序*/public List<Integer> topologicalSort() {Queue<Integer> queue = new LinkedList<>();// 将所有入度为0的节点加入队列  for (Map.Entry<Integer, Integer> entry : inDegree.entrySet()) {if (entry.getValue() == 0) {queue.offer(entry.getKey());}}while (!queue.isEmpty()) {int current = queue.poll();topoOrder.add(current);// 遍历当前节点的所有邻接点  for (int neighbor : adjList.getOrDefault(current, Collections.emptyList())) {// 减少邻接点的入度  int newInDegree = inDegree.get(neighbor) - 1;inDegree.put(neighbor, newInDegree);// 如果邻接点的入度变为0,则加入队列  if (newInDegree == 0) {queue.offer(neighbor);}}}// 检查是否所有节点都被访问过,若为有环图,初始化报错if (topoOrder.size() != inDegree.size()) {throw new IllegalStateException("Graph has a cycle and cannot be topologically sorted.");}return topoOrder;}
}
http://www.ritt.cn/news/25131.html

相关文章:

  • 滕州网站搜索引擎优化seo引擎优化外包
  • 开发一套系统需要多少钱长沙seo工作室
  • 做的网站如何更换网站模板郑州百度网站快速优化
  • 制作公司网站需要几个数据表学seo需要多久
  • 公司网站管理关键词检索
  • 网站公司做的网站点击率怎么查怎么推广公司网站
  • 设计师素材网站e外链工具在线
  • 收费的网站怎么做最新互联网项目平台网站
  • 建设网站注意哪几点湘潭关键词优化公司
  • 上海优化网站公司网络营销的类型有哪些
  • 网站设计内容板块seo课程培训要多少钱
  • 做庭院的网站数据分析师培训机构推荐
  • 邦策网站建设平台关键词排名优化软件策略
  • as.net 网站开发视频教程安徽网站关键词优化
  • 描述个人网站的建站过程国内seo公司哪家最好
  • 成都定制网站建设网店运营与推广
  • 政府网站建设个人先进推荐材料苏州旺道seo
  • windows系统怎么做ppt下载网站接app推广
  • 怎么做宇宙网站整站优化的公司
  • 做甜品网站的需求分析爱链工具
  • 珠海市品牌网站建设公司巨量引擎广告投放平台代理
  • 日本软银集团孙正义跨境电商seo是什么意思
  • 重庆有没有做网站的搜索引擎优化的缺点包括
  • wordpress调用指定id目录排名优化是怎么做的
  • 广告推广营销seo l
  • 网站建设 金手指 排名22关键词抓取工具都有哪些
  • 哪些网站是做快消品的浏览器看b站
  • win7建设网站信息流优化师简历模板
  • 做电影网站合法吗百度运营推广
  • 聊城网站空间公司nba实力榜最新排名