微服务、分布式

  1. 描述微服务、分布式、集群概念

    微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。这些服务通常

    ● 有自己的堆栈,包括数据库和数据模型;

    ● 通过REST API,事件流和消息代理的组合相互通信;

    ● 和它们是按业务能力组织的,分隔服务的线通常称为有界上下文。

    尽管有关微服务的许多讨论都围绕体系结构定义和特征展开,但它们的价值可以通过相当简单的业务和组织收益更普遍地理解:

    ● 可以更轻松地更新代码。

    ● 团队可以为不同的组件使用不同的堆栈。

    ● 组件可以彼此独立地进行缩放,从而减少了因必须缩放整个应用程序而产生的浪费和成本,因为单个功能可能面临过多的负载。

    分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。

    集群:同一个业务(应用程序) 部署在不同的服务器上

    集群系统是一群松散结合的服务器组,形成一个虚拟的服务器,为客户端用户提供统一的服务。

  2. 随着高并发的不断增加,单体架构会带来哪些问题

    1、服务器的价钱(忙闲不均)。【服务器的维护(场地)、大量的运维工程师】

    2、可维护性差

    3、可扩展性差(服务器)

    4、协同开发不方便(大家都去改相同的业务代码,容易发生代码冲突/错误问题)

    5、单体应用架构(随着业务的不断增加,功能的不断增加,应用的代码会变的越来越大)。

    导致服务器进行部署时 占用的硬盘空间也大。(内存也大)

    1. 系统仍然为单体应用, 大量的业务必然会有大量的代码,代码的可读性和可维护性依然很差。
    2. 面对海量的用户,数据库将会成为瓶颈,解决方案将使用分布式数据库,也就是将数据库进行分库分表。
    3. 持续交付能力差,业务越复杂,代码越多,修改代码和添加代码所需的时间越长。新人熟悉代码的时间长、成本高。
  3. 描述你所理解的面向服务(SOA)架构

    面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

  4. 分布式微服务架构的优点和缺点

    优点:

    1、微服务对服务的拆分变更的更细(复用性强)。

    2、可根据需求使用新的技术

    3、开发速度快(周期少)。适用于互联网项目。

    缺点:

    1、微服务过多,对服务的治理成本高。

    2、服务的部署难度加大–>(Docker–>k8s)

    3、技术难点在增加(分布式事务…)

  5. 架构的改变必然会带来新的问题,有哪些技术问题

    分布式事务 两(二)阶段提交

    分布式锁 Redis SETNX/Zookepper

    分布式Session Spring Session(RedisCluster)

    分布式日志 elk

    分布式任务

  6. 微服务架构落地,需要哪些技术

    微服务之自动化部署

    微服务之日志收集与性能监控

    微服务之自动化测试与质量管理

    微服务之监控告警

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值