微服务---介绍

news/2024/11/17 7:37:15/

目录

1.微服务架构5个核心问题

2.微服务架构实现方案

3.微服务架构更多的是架构思想

4.学习微服务的意义

5.微服务架构一般采用

6.服务器有三种类型


1.微服务架构5个核心问题

(解决这些问题都是依托于中间件,学微服务也是学这些中间件)

        ①、服务很多,客户端该如何访问(后台接口有很多,有可能一个页面需要调用几十个服务)

                a.网关:后端有一个总管将任务分给谁的部件(所有对外暴露接口的管理者)

        ②、这么多服务,服务之间如何通信(如何做到全自动化)

                a、服务注册,将ip和端口号放入到zk中

                b、zookeeper:所有微服务的管理者(在后端想要调用零另一个服务时,先去zk查另一个服务的ip和端口号)

        ③、这么多服务,如何去管理,如何监控每个服务的运行状态

                a、zookeeper

        ④、如果有其中一个服务挂了,如何解决

                a、zk会定时向每个注册进来的微服务发送心跳检测,看能不能通。没有回就认为宕机了

                b、微服务中宕机是个很严重的事故,因为只要宕机,调用链中含宕机的那个服务就都不能访问了。(可能会有30%)问题是:用户会认为网络卡了,然后刷新。就会导致网络流量激增,但是一直返回服务异常。而一个服务的网络带宽是有限制的。就会导致本来正常调用链的请求,也进不来了。一般如果不做处理,会导致整个系统瘫痪。

                c、解决

                        结合zk做好报警系统。如果说zk监听到的宕机了,或者服务内存占用量过大,即使向开发人员反馈(apm报警系统:先发短信--》过一分钟没有处理--》发邮件--》电话)

                        服务熔断:网关检测到接口失败率过高,直接返回服务异常。熔断返回很快,因为没有业务逻辑,是直接返回的

        ⑤、微服务架构存在哪些缺陷,什么是cap问题

2.微服务架构实现方案

        ①、spring cloud  Netflix

        ②、apache dubbo + zookeeper.(spring)

        ③、Spring cloud Alibaba

3.微服务架构更多的是架构思想

        微服务架构会带来很多问题,比如两个服务数据不一致(用户更改用户名调用的接口是用户服务的接口,更改了用户服务的数据表,但是没有更改订单服务的表)

4.学习微服务的意义

        虽然就开发来说,就是单纯的Springbot做增删改查,但是一但涉及到解决各个系统之间交互的问题时,如果不学微服务的思想,架构设计的调优方案就会看不懂,不知道怎么实施。

5.微服务架构一般采用

        ①、common:放一些公用的枚举

       ②、client:rpc调用(RPC(Remote Procedure Call)远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。RPC采用客户端/服务端的模式,通过request-response消息模式实现)

        ③、service:rpc实现

        ④、web:http接口实现,controller

        ⑤、base:共有的业务逻辑

6.服务器有三种类型

        ①、云服务器:有一个公网ip(在云服务器上面部署了一个程序,是可以访问到的,因为有公网IP)

        ②、物理机(一个配置特别高的电脑):可以有公网ip,也可以没有公网ip,如果没有公网ip,只能在机房内部通过交换机访问

        公司一般都有一个同样的公网暴露服务器(有公网ip,通过他来调用其他没有公网ip的服务,保证安全)。xsheel通过账号密码访问跳板机(跳板机:可以对一些指令进行监控,跳板机也是一个有公网暴露面的服务器)   

        ③虚拟机:由这个物理机用虚拟化技术虚拟出来的(vmware),两个虚拟机连接在同一个物理机里面直接传输,在同一个机房用交换机传输,距离远了就只能用互联网传输了。互联网传输是不可靠的,因为是通过光纤去传输的,有可能光纤受损传不过去,这就是我们微服务要解决的问题


http://www.ppmy.cn/news/1003915.html

相关文章

sql分类 DDL、DML、DCL

DDL (Data Definition Language 数据定义语言) 这些语句定了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构 如: CREATE \ DROP \ ALTER \ RENAME \ TRUNCATE 等 DML(Data Manipulation Langua…

微信小程序 width 100% 加 margin 或 padding 溢出屏幕

微信小程序 width 100% 加 margin 或 padding 溢出屏幕 方案1:fill-available margin方案2:box-sizing padding 方案1:fill-available margin width: 100%;width: -moz-available;width: -webkit-fill-available;width: fill-available;ma…

经典CNN(三):DenseNet算法实战与解析

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊|接辅导、项目定制 1 前言 在计算机视觉领域,卷积神经网络(CNN)已经成为最主流的方法,比如GoogleNet,…

Socks5代理:网络安全与爬虫之利器

一、Socks5代理:简介与工作原理 Socks5代理,全称为Socket Secure 5代理,是一种允许用户通过代理服务器进行网络连接的技术。它是Socks协议的最新版本,在网络安全和数据传输方面有着显著的优势。 Socks5代理与其他代理的不同之处在…

Unity面试题:热更新篇

请简要介绍Unity热更新的原理和实现方式。 答:Unity热更新的原理是通过将游戏的资源和代码分离,将代码部分放置在服务器端,游戏启动时通过网络下载更新的代码并动态加载,以达到实现热更新的目的。实现方式包括AssetBundle、ILRunt…

java 版本企业招标投标管理系统源码+多个行业+tbms+及时准确+全程电子化

​ 功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查…

Centos7下安装11gR2(Error in invoking target ‘agent nmhs‘ of makefile解决方式)

1.安装rpm包环境 x86下: yum -y install binutils compat-libstdc-33 compat-libstdc-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c glibc libXext.i686 glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i68…