尤娜,我去面试了

前情回顾

从前,有一个简单的通道系统叫尤娜……

尤娜系统的第一次飞行中换引擎的架构垂直拆分改造

四种常用的微服务架构拆分方式

面试前几天

尤娜系统经过一次拆分改造,又过去几个月了。目前系统运行稳定。但是并未向尤娜所说的有其他业务接入。在《提高用户体验的三种技术》中,我印象最深的是说学习要学一些工作中用得着的技术。最近在梳理业务,很想了解自己的下游小B公司是怎么做的。

自己通过对业务的观察有了初步的想法,很想确认一下。想想小B毕竟是我的好姐妹,我要去他们公司参观学习她应该不会拒绝吧。于是我约了小B来我家聚聚,顺便说出了自己的想法。没想到她跟我说了另外一件事。

小B说出了当年上学的时候,小A把她床板坐塌了,她们大吵一架,之后她们一直再没说过话。这背后有个我不知道的原因。

那时临近毕业,有个大公司招聘一个出国进修2年,回国直接担当要职的岗位,只要一个人。当时有个专场招聘会,小A是陪小B去应聘的。小A在等小B排队走流程的时候,觉得来了都来了,等也是等,不如索性自己也试试。

结果,小A竟然成了那唯一的幸运儿。后来,那个公司的工作人员还特地打电话给小B告知结果,并表示觉得公司也很认可小B,只可惜名额只有一个。小B为了这个职位准备了很久,最终却被小A误打误撞取代了。她咽不下这口气。那天,小A把她床板坐塌了,她觉得小A肯定是故意的,就是处处针对她。

小B说完,深深叹了口气。真诚的问我能不能去她公司,至少有一个好姐妹和她在一起,让她不再这样孤独。我很犹豫。小B看出来了,只说来不来没关系。正好我也想了解小B公司的系统逻辑,小B就找那个项目的人来找我聊一聊,走个面试的流程。如果我最终决定不想来,权当交流技术。

面试当天

那天,我跟尤娜请了一下午的假,去了小B公司面试。

面试官大概知道我和小B的关系,非常的客气。面试一开始让我做了自我介绍,面试官边听边不住地点头。然后问了我项目经历,因为我们是合作方,所以也聊得很多。我给他画了我们系统架构:

尤娜,我去面试了

他问我,如果kafka;出现了故障,业务连续性怎么保证。我有点蒙,直接了当的问面试官什么是业务连续性。

面试官告诉我:业务连续性是计算机容灾技术的升华概念,一种由计划和执行过程组成的策略,其目的是为了保证企业包括生产、销售、市场、财务、管理以及其他各种重要的功能完全在内的运营状况百分之百可用。业务连续性是覆盖整个企业的技术以及操作方式的集合,其目的是保证企业信息流在任何时候以及任何需要的状况下都能保持业务连续运行。

我想了想,觉得这个概念和稳定性、高可用、容灾容错和弹力设计都是近义词。但是这五个词又有所侧重。

我如实跟面试官说在尤娜系统中我还没有设计这块。如果让我设计的话,那我可以设计一个降级操作,如果kafka出现故障,降级http直连。

面试官接着问:用kafka是为了解耦,这种降级不是又耦合了呢?高峰期压力怎么办呢?

我想了想说:可以在直连上采用限流操作,确保不对下游造成巨大的请求压力。虽然在降级时回归直连是有耦合,但不是强耦合。只有降级时使用,上下游之间的依赖仍然是弱依赖

面试官继续因势利导:那如果这时候流量很大,一大半的请求被限流。请求失败了怎么办呢?我顺着这个思想又想了补救方案。

这时候面试官语重心长的对我说:你的想法可以解决问题,但是同时会引入新的问题。这样整个架构设计就越来越复杂。而本身这个问题并不复杂,回到最初的问题:kafka出现故障,本身有容灾机制。我本身想问的是kafka的副本、ISR、failover这些。尽量采用组件本身的容灾,也是一种领域的内聚。

面试出来,觉得自己在架构设计中成长了一些。我没有直接回家,而是回到了公司找尤娜。我如实地把自己面试的经过以及小B的心结告诉了尤娜。

尤娜叹了口气,说她一直知道这件事。在学校时小A就告诉了尤娜,并诉说了自己的纠结。小A当时有自己的苦衷,让尤娜不要告诉别人,哪怕是我。最后其实是尤娜和小A一起运用资源给小B争取了差不多的一个机会。

尤娜说希望有天小A和小B能够打开心结。至于我,她尊重我的选择。我勾了勾她的鼻子,说:”我怎么舍得离开你。” 我俩相视一笑,今晚又是我们的闺蜜之夜。

编者按

我写这个系列,原本是【编程一生】用户群里有朋友提到想知道我们项目中具体是怎么做架构的。这个我没有授权是不能说的。说了也没有很强的普适性。但是想到我可以虚拟一个项目,诠释【架构不是设计出来,而是演进出来的】。通过人物的成长,读者也如同亲身经历了一个项目的各个成长期,从而增强架构底蕴。

不管是面试有后门,还是合作方在面试中有优势,都是常见的社会现象,也不能一杆子敲定是好是坏。而面试中的问题是很多年前去阿里面试的真实面试题改编,请朋友们能够自己闭上眼睛自己思考一下这道题自己的思路是怎样的。欢迎留言一起探讨。

在尤娜系列的第一篇有朋友问为什么小A和小B到毕业一直没有说话,我其实心里有一整个故事架构蓝图。考虑到故事本身设计的反转性,当时没有明说。

作为一个程序员出身,不管写程序还是写故事。逻辑都是最重要的,如果发现故事中有逻辑问题,很可能是个伏笔哦。

另外,大家可能注意到故事中的人物都是女生。这也是我除了讲技术之外想塑造的另外一个主线。现在的很多电视剧、电影,明明讲的是女生的励志故事,具体事件中却是靠着男生的力量一步步向上爬。这并不反映社会现实。那也不是什么励志。希望本系列能掰正这些电视剧和电影对女生的误导。想活成自己想要的样子要靠自己,这一点男生女生没有什么不同。

编程一生

因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下”在看”,加个”星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。

PDCA方法论,检查自己是否错过更新:每周三晚上8点左右,我都会更新文章,如果你没有收到,记得点开【编程一生】公众号找一下(^▽^)

Original: https://www.cnblogs.com/xiexj/p/15996646.html
Author: 编程一生
Title: 尤娜,我去面试了

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/610907/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 一篇文章扒掉“桥梁Handler”的底裤

    Android跨进程要掌握的是Binder, 而同一进程中最重要的应该就是Handler 消息通信机制了。我这么说,大家不知道是否认同,如果认同,还希望能给一个关注哈。 什么是Ha…

    Linux 2023年6月13日
    0104
  • phpweb成品网站最新版(注入、上传、写shell)

    注入:之所以鸡肋就是该漏洞利用安装文件 重新生成 配置文件 写入可执行代码 鸡肋1: 具有破坏性 动作非常大 重新写了配置文件 数据库连接文件鸡肋2: 有一定安全常识的站长都会删掉…

    Linux 2023年5月28日
    089
  • python爬虫_入门

    本来觉得没什么可写的,因为网上这玩意一搜一大把,不过爬虫毕竟是python的一个大亮点,不说说感觉对不起这玩意基础点来说,python2写爬虫重点需要两个模块,urllib和url…

    Linux 2023年6月6日
    093
  • 高等代数:3 线性方程组的解集的结构

    3 线性方程组的解集的结构 1、定义1:数域K上所有n元有序数组组成的集合(K^{n}),连同定义在它上面的加法运算和数量乘法运算,以及满足的8条运算法则一起,称为数域K上的一个 …

    Linux 2023年6月8日
    0100
  • Flink 如何分流数据

    场景 分流方式 如何分流 使用Filter分流 使用Split分流 使用Side Output分流 场景 获取流数据的时候,通常需要根据所需把流拆分出其他多个流,根据不同的流再去作…

    Linux 2023年6月7日
    0140
  • haproxy

    1. haproxy简介 2. haproxy配置文件解析 3. haproxy搭建httpd负载均衡 4. 启动haproxy自带的监控界面 haproxy简介 HAProxy是…

    Linux 2023年6月13日
    0141
  • 页面国际化

    页面国际化 有的时候,我们的网站会去涉及中英文甚至多语言的切换,这时候我们就需要对页面进行国际化设计了。 6.1 准备工作 在IDEA中统一设置properties的编码格式 6….

    Linux 2023年6月14日
    0114
  • Windows server 2012 安装exchange 2013

    一、实验环境 操作系统:Windows server 2012 R2 邮件系统版本:exchange 2013 安装的服务:AD CS、AD DS、IIS、DNS 二、安装exch…

    Linux 2023年6月7日
    0114
  • Linux 下统计文件夹下文件的数量

    1、查看当前目录下的文件数量(不包含子目录中的文件) 2、查看当前目录下的文件数量(包含子目录中的文件) 3、 查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如…

    Linux 2023年6月13日
    0112
  • zabbix 报表动作日志 报错”503“

    本文来自博客园,作者:xiao智,转载请注明原文链接:https://www.cnblogs.com/yuwen01/p/16216868.html Original: https…

    Linux 2023年6月13日
    0111
  • linux man 中文手册安装

    Linux Man (手册) linux man 中文手册安装 步骤 下载源程序 解压文件并进入该目录 unzip master.zip ;cd master 安装支持程序 sud…

    Linux 2023年6月7日
    089
  • phpcms如何在前台文章列表前显示所属类别名称

    最近做单位网站模版遇到的问题,欲实现的效果: 但是phpcms中自带的文章列表标签没有这个功能,数据库中文章表中也只有类别id的字段,因此不能通过简单的{$r[catname]}读…

    Linux 2023年6月13日
    096
  • 阿拉德之怒手游超详细图文架设教程

    写在前面 你是否还记得DNF,一天你不小心救了赛丽亚,从此变成了拯救阿拉德大陆的勇士,从此开始冒险之旅,不管你的职业是亲儿子还是下水道,你一直对你玩的角色情有独钟,在一次次刷图PK…

    Linux 2023年6月7日
    087
  • 018.CentOS升级内核

    作者:木二 出处:http://www.cnblogs.com/itzgr/ 关于作者:云计算、虚拟化,Linux,多多交流! 本文版权归作者所有,欢迎转载,但未经作者同意必须保留…

    Linux 2023年6月13日
    0127
  • nodejs调用shell

    shelljs https://github.com/shelljs/shelljs 实例 var shell = require(‘shelljs’); if (!shell.w…

    Linux 2023年5月28日
    0113
  • linux学习之搭建Apache 服务器

    本实验的主要任务是在CentOS操作系统中搭建Apache 服务器,练习文档根目录、首页文件、相关访间控制规则的配置。 ‎【实验目的】 ‎(1) 理解Apache 服务器主配置文件…

    Linux 2023年6月13日
    0106
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球