首页 > 其他分享 >9-面试题(架构层面)

9-面试题(架构层面)

时间:2023-04-13 19:36:30浏览次数:34  
标签:集成 面试题 服务 层面 部署 分布式系统 组件 架构

1、微服务的优点

  1. 灵活性高:它将应用程序分解为小型服务(松散耦合),使其开发、维护更快,更易于理解,可以提供更高的灵活性;
  2. 独立扩展:它使每个服务能够独立扩展,将系统中的不同功能模块拆分成多个不同的服务,这些服务进行独立地开发和部署,每个服务都运行在自己的进程内,这样每个服务的更新都不会影响其他服务的运行;
  3. 支持多种编程语言:微服务可通过最佳及最合适的不同的编程语言与工具进行开发,能够做到有的放矢地解决针对性问题;
  4. 自动部署与持续集成工具集成:它允许以灵活的方式将自动部署与持续集成工具集成,例如Jenkins,Hudson等;
  5. 通用性:通过服务实现应用的组件化(按功能拆分、可独立部署和维护),围绕业务能力组织服务,根据业务不同的需求进行不同组件的使用,所做产品非项目化,对于平台具有一定的通用性。

2、微服务的缺点

  1. 处理故障难度高:微服务架构是一个分布式系统,必须构建一个相互通信机制并处理部分故障;
  2. 部署工作量大:整体式应用程序可以部署在负载平衡器后面的相同服务器上。但对于微服务,每个服务都有不同的实例,每个实例都需要配置、部署、缩放和监控;
  3. 测试复杂度高:微服务在一定程度上也会导致系统变得越来越复杂,增加了集成测试的复杂度;
  4. 运营成本增加:整体应用可能只需部署至一小片应用服务区集群,而微服务架构可能变成需要构建/测试/部署/运行数十个独立的服务,并可能需要支持多种语言和环境。这导致一个整体式系统如果由20个微服务组成,可能需要40~60个进程;
  5. 发布风险高:把系统分为多个协作组件后会产生新的接口,这意味着简单的交叉变化可能需要改变许多组件,并需协调一起发布。在实际环境中,一个新品发布可能被迫同时发布大量服务,由于集成点的大量增加,微服务架构会有更高的发布风险;
  6. 分布性系统问题:作为一种分布式系统,微服务引入了复杂性和其他若干问题,例如网络延迟、容错性、消息序列化、不可靠的网络、异步机制、版本化、差异化的工作负载等,开发人员需要考虑以上的分布式系统问题。

3、Kafka、Redis、MQ之间的区别

标签:集成,面试题,服务,层面,部署,分布式系统,组件,架构
From: https://www.cnblogs.com/testerxm/p/17316057.html

相关文章

  • #yyds干货盘点# LeetCode面试题:颜色分类
    1.简述:给定一个包含红色、白色和蓝色、共 n个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数0、 1和2分别表示红色、白色和蓝色。必须在不使用库内置的sort函数的情况下解决这个问题。 示例1:输入:nums=[2,0......
  • 敏捷测试高效实战-测试架构师成长记的读后感
    序测试工作的最终目标是服务于产品的商业价值;产品质量必须是由测试人员和开发人员共同负责的;测试团队不仅要提升自身的效率,也要提升整个研发团队的交付效率;正如《Google软件测试之道》一书中提到的,测试团队属于工程生产力团队,以产品交付和效率提升为己任;自动化测试平台建立了......
  • 【面试题】思维逻辑方面
    1、有一个没有刻度的长方形的铁盒子,没有盖子,可以随意摆动,它的容积是1升。请罗列出你能想到的:只使用这个盒子称量,列出你可以想到的能够准确地量出多少升的水?答案:0.5L  2、排队,小明站在从前往后数的第x个,从后往前数的第y个,则小明所在的列共有多少人?答案:x+y-13、桌子......
  • MySQL面试题-2023
                          参考链接:https://blog.csdn.net/weixin_41622043/article/details/103426652https://xiaolincoding.com/mysql/base/how_select.html ......
  • python面试题-2023(面试)
    1.python中有哪些可变类型与不可变类型?可变:list、dict、set不可变:tuple、str、整型(int、float、complex)注意:可变对象可以在原来地址上修改元素,不可变则不行(即不能在自己身上增删改),若要修改可以使用对象拼接赋值给新的对象,总之不能修改自身       参考链......
  • 面试题4.12
    #面试题:1wsgiuwsgiuWSGI,cgi,fastcgi分别是什么?2如何自定制上下文管理器3Python是值传递还是引用传递wsgiuwsgiuWSGI,cgi,fastcgi分别是什么?中间件:介于a和b之间的东西都称为中间件'''服务器中间件:nginx,apache数据库中间件:介于应用程序和数据库之间的:MyCat消息......
  • 面试题:JS如何最快的执行垃圾回收机制
    因为没看见答案,所以也不知道对不对。 JavaScript的垃圾回收机制是由JavaScript引擎自动管理的,通常情况下我们无法控制垃圾回收机制的执行时间和频率。然而,我们可以采取一些优化策略来减少垃圾回收的性能开销,从而提高代码执行速度。减少全局变量:全局变量不易被垃圾回收,因......
  • 云计算技术的新趋势:边缘计算和多云架构的发展
    ​ 云计算技术的不断发展,边缘计算和多云架构成为了新的趋势。这两种技术的发展,将会对云计算技术的未来发展产生深远的影响。边缘计算是指将计算资源和数据存储设备放置在离数据源最近的地方,以便更快地处理数据。这种技术的出现,主要是为了解决云计算中数据传输速度慢的问题。边缘......
  • 6-面试题(Web自动化测试)
    1、如何提升webui自动化的稳定性1·导致ui自动化不稳定的因素1.1web页面的多变1.2页面隐藏元素1.3页面元素加载不稳定1.4系统业务复杂1.5ajax请求问题1.6测试环境数据准备问题2·解决问题的各种方法1.从自动化框架解决问题1.1设置显式等待重写selenium的底层接口......
  • 2.1万字,30张图详解操作系统常见面试题(收藏版)
    耗时两周,新版的操作系统常见知识点/问题总结总算搞完了,手绘了30多张图。大家可以用来复习操作系统或者准备操作系统面试。对于大部分公司的面试来说基本够用了,不过,像腾讯、字节这种大厂的面试还是要适当深入一些。这篇文章总结了一些我觉得比较重要的操作系统相关的问题比如用......