分布式|微服务,看这一篇就够了

分布式,微服务的概念

 

        微服务主要是面对现在技术发展后,业务复杂度提升、用户量激增,单体项目很难再在这种高并发的场景下发挥作用。且业务的复杂度的提升,代码量几何倍数增长,在一个系统,一个项目下放置所有代码,对于代码的维护与解耦,都是很大的挑战。所以我们使用微服务的架构,将一个大的项目,拆分成多个独立的的系统,使用网络通信来让他们相互协调与合作,达到形如一个系统的效果。

        当然,微服务架构在解决问题的同时,也会出现很多单体项目下不会出现的新的挑战,在开发模式、使用的技术上,都会有很大的不同,并且在面对网络通信不稳定的情况下,又会有新的复杂性出现。

        

        下面我们来看看分布式系统常用的工具

        Spring-Cloud:Spring Cloud为开发人员提供工具,以快速构建分布式系统中的一些常见模式 (例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)。分布式系统的协调存在一些通用的模式,使用Spring Cloud开发人员可以快速支持实现这些模式的服务和应用程序。它们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑、裸机数据中心以及云铸造等托管平台。

        Spring-cloud下面有很多实用的工具,包括Spring-Cloud官方的gateway 、loadbalancer 、openfeign 等;阿里的nacos、dubbo、sentinel等;netflix的ribbon、hyxtrix等。

        我们这里的项目,采用nacos作为服务发现、配置管理的选项,sentinel-服务容错,seata-分布式事务、gateway-服务网关、openfeign-服务调用、ribbon-负载均衡;

        服务发现:

        每个服务因为是相对独立的系统,他们直接需要通信只有通过网络,服务发现就是找到服务实例的地址的过程,我们这里使用nacos;

        1.导入依赖

         <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
         </dependency>

        2.修改配置

spring:
  application:
    name: website
  cloud:
    nacos:
      config:
        server-addr: localhost:8848

        3.添加注解

@EnableDiscoveryClient

        4.启动服务器

Nacos 快速开始 下载服务器并启动。

服务发现的过程:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值