初识springcloud(微服务)

1、微服务的定义(microservice)

(1)多个微服务开发的依然是一个完整的应用
(2)微服务都会独立运行在一个独立的进程里面
(3)微服务之间通常会采用轻量级的通信机制来进行通信,比如http https socket netty dubbo thrift
(4)通常采用自动化部署方式, devops cicd docker、 K8s、 service mesh、云原生
(5)通常都是去中心化的,也就是假如某个节点挂了,而不会影响其他节点
(6)这些微服务可以通过不同的编程语言实现 订单:java 天气:python

这是忘了谁来着给的定义:

In short, the microservice architectural style [1] is an approach to
developing a single application as a suite of small services, each
running in its own process and communicating with lightweight
mechanisms, often an HTTP resource API. These services are built
around business capabilities and independently deployable by fully
automated deployment machinery. There is a bare minimum of centralized
management of these services, which may be written in different
programming languages and use different data storage technologies.

2、但拆分过程中,往往不是一帆风顺

  • (1)服务注册与发现

nacos[ali]、eureka[netflix]

  • (2)服务调用

dubbo[ali]

  • (3)负载均衡

ribbon[netflix]

  • (4)路由网关

zuul[netflix]

  • (5)分布式事务

seata[ali]

  • (6)异步消息通信

(7)等等

而其中这些由Netflix 、Ali 互联网大厂根据所需的业务需求开发了一系列的中间件,未解决分布式架构所带来的问题,当然springcloud本身也有自己写好的实现功能组件,像:springcloud Gateway、springcloud Security 等等

在这里插入图片描述
我理解的是:springcloud在springboot的基础上,提供了一系列的“接口”和规范,这些“接口”,供一些大厂集成了的中间件(一些公共基础功能)来实现服务之间调用和独立运行。
在这里插入图片描述

3、问题细述

-1 服务注册与发现

  1. 服务注册

    就是将提供某个服务的url(相同服务可以有多个url)(通常是这个服务的ip和端口)注册到1个公共的组件上去(比如: zookeeper\consul nacos[ali]、eureka[netflix])。

  2. 服务发现:
    单个微服务想要调用其他微服务,则需要通过这个公共的注册中心,获取到所需服务的url,来进行调用。不管是服务新增和服务删减都能实现自动发现。
    在这里插入图片描述

可以这样想:

//服务注册:NameServer->register(newServer); 

//服务发现:NameServer->getAllServer(); 

为什么要用到服务注册和发现呢?

答:因为分布式架构把每个服务模块都拆分成最小粒度,,原先所有的服务都在混在1个server里,现在就被按照功能或者对象拆分成N个服务模块,这样做的好处是深度解耦,1个模块只负责自己的事情就好,能够实现快速的迭代更新。坏处就是服务的管理和控制变得异常的复杂和繁琐,人工维护难度变大。还有排查问题和性能变差(服务调用时的网络开销)

总结

我所理解的,其实就是springcloud是一个用来管理和解决分布式服务的这么一个集成工具。如果想要解决像注册与发现负载均衡网关限流熔断等等等这些单个服务之间的通信问题,则需要springcloud的中间件(而这些中间件就是写好了的集成完善相应功能的springboot项目);或者Ali和Netflix的提供面多不同业务的中间件。
其步骤也是三板斧:
1、引依赖
2、改配置
3、写注解

springcloud入门易,掌握男;各个微服务之间如何管理才能让整个应用系统更加高效和稳定确实需要我们不断学习和累积经验。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值