VxD技术的应用

VC++ 专栏收录该内容
43 篇文章 0 订阅
VxD技术的应用 作者:汤琳 发布时间:2001/02/08
 
文章摘要:
  本文首先介绍了通过PC机实现V5协议测试的方法,引申出在Win95平台上的ISA总线数据传送问题,重点介绍了VxD技术。
       

正文: 

VxD技术的应用   

1 PC机V5协议测试方法

  1.1前言
  现代电信网的发展趋势是网络集中、高效、优化。随着Internet的普及,通信业务网的接入能力受到严峻的考验。电信网络发展宽带通信业务和多媒体业务的任务已刻不容缓。要想实现接入网的数字化、宽带化和智能化,必须解决当前电信网中传输瓶颈的问题。现有的采用模拟传输方式为主要传送媒体的接入网,难以适应接入网网络升级和提供新业务的要求。因此V5接入网将成为现代接入网的标志。现代接入网的重要特征是:它与交换机之间的业务节点接口应为开放的、标准的V5接口,V5接口在提供综合业务和新业务等方面具有无可比拟的优越性,V5接入网取代远端模块是发展的必然。由于设备供应商本能的保护性反应,V5.X接口的开放性缺乏法规保障;而且不同厂商设备之间互通性、兼容性及完备性较差。因此V5接口协议测试成为令人非常关注的问题。在理想的情况下,不同厂家按相同协议标准生产的设备应能在网路环境下正常通信,但是实际情况并非如此,由于设计者对标准的不同理解,以及各个厂家持不同的技术政策,导致其产品的某些性能要么偏离标准,要么是标准的一个子集。这样,使得不同设备生产厂家生产的本地交换机(LE)和接入网(AN)设备在互连时出现一些问题(如系统启动过程不一致而无法连接等)。设备在使用过程中也会因协议配合或设备存在的缺陷出现一些问题(如表现为V5二层链路频繁建链或出现大量呼损等)而影响服务质量。而当设备互连发生问题时,又急需用统一的尺度来衡量设备的一致性,以找出问题的根源。目前,随着V5接口在我国商用的展开,各种设备蜂拥而来,这样,解决通信设备互连产生的协议问题将成为推广V5接口应用的一个不可忽略的因素,V5协议分析仪对于这些问题的查找定位和分析解决是至关重要的。我们自行研制的V5协议测试仪具有使用方便,成本低,易于升级的优越性,而VxD技术正是其中的关键技术。

  1.2 V5协议测试仪原理
  V5协议测试仪(以下简称为V5TS)由两部分组成:ISA总线标准的硬件插卡和协议处理软件。每块板卡最多可处理一条2048kbit/s数据链路中的3条C通路(TS16、TS15和TS31),可根据测试需要选择一块或两块板卡;协议处理软件以Windows95/98作为运行平台。硬件插卡及其协议处理软件组成一个完整的测试系统,可用作LE侧或AN侧的V5协议测试设备或监测设备。
  V5TS的测试原理如图1-1所示。方式A和B为协议仿真方式,方式C为协议监视方式。方式A中,V5TS模拟AN侧来
测试LE侧的V5功能;方式B中,V5TS模拟LE侧来测试AN侧的V5功能;在方式C中,V5TS是作为监视设备工作的,可以监听LE和AN之间传递的信息帧。
  
                图1-1
  测试的依据是原邮电部颁发的《接入网V5.2接口现场测试规范》,共有7组84项测试条款,如表1-1所示.
          表1-1 接入网V5.2接口现场测试规范
  

  1.3测试仪硬件原理
  ISA总线插卡的结构如下图1-2所示。

  
                图1-2 V5TS硬件结构图
  其中E1 Controller 采用了Brooktree公司的Bt8510,完成物理层功能和TS16的LAPD操作;HSCX(高级串行通信控制器)选用了Siemens公司的SAB82525,完成了TS15和TS31的LAPD操作;μP使用了DALLAS半导体公司的DS80C320;DPRAM(双端口随机存储器)运用了IDT71342,用于μP(微处理器)和MP(主处理器)之间的数据通信;I/O Port用于在μP和MP之间传递控制信号。与本文有关的就是DPRAM和I/O Port。

  1.4测试仪软件框架
  测试仪的软件部分根据实现的处理器的不同分为两大模块:μP模块和MP模块。
  其中μP模块采用汇编语言作为程序开发语言,主要完成硬件初始化工作和消息收发工作;MP模块分为四个子模块:
  · 主控模块;
  · 系统管理模块;
  · 协议处理模块;
  · 数据收发模块。
  由于我们使用的操作平台为Windows95平台,在MP的数据收发模块中必须调用VxD程序以完成与ISA插卡的数据交换。

2 VxD技术简介

  2.1 VxD的概念
  Intel处理器从386开始具有4个特权级,即0级到3级。0级特权级最高,而3级最低。这四个级别可形象的看成是4个同心圆,出于性能的考虑,Win95仅使用了0级和3级,一般的程序运行于3级,0级程序可以使用处理器的所有资源和能力。VxD(Virtual Device Driver)是用来扩展Windows操作系统功能的一类程序。它以DLL的形式链入Windows操作系统的核心层(ring 0)。VxD主要解决不能被ring 3层应用程序处理的一系列问题。

  2.2 高层应用程序中的处理
  Windows 95 通过DeviceIoControl函数实现设备输入输出控制(IOCTL)接口,该函数可以向指定的VxD发送命令和传递相应的数据。可以用CreateFile函数打开此VxD,用DeviceIoControl向此VxD发送命令,最后用CloseHandle函数关闭此VxD即可。
  下面简单介绍一下上述三个函数:
  1) HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess,
    DWORD dwShareMode,LPSECURITY_ATTRIBUTES lpSecurityAttributes,
    DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes,
    HANDLE hTemplateFile );
  函数成功调用将返回一个指定文件的打开的句柄。参数lpFileName是指向一个字符串的指针,该字符串包含需生成或打开的对象名,对象包括文件、磁盘设备、目录等,在此我们使用的是VxD文件;dwDesiredAccess是访问对象的模式,有读、写、读写或设备查询等;dwShareMode是对象的共享模式,如果该参数为零则对象不可共享;lpSecurityAttributes是指向安全属性结构的指针,该结构决定了返回的句柄能否被子进程继承;  dwCreationDisposition指出了当文件存在或不存在时的各种操作,如值CREATE_ALWAYS代表生成一个新文件,如果文件已经存在则覆盖原文件并清除原有的属性;dwFlagsAndAttributes指明了文件属性和标志,如FILE_ATTRIBUTE_HIDDEN代表文件属性为隐藏;hTemplateFile是一个句柄,该句柄指向一读属性的模板文件,Windows95中的此参数必须为NULL。
  2) BOOL DeviceIoControl(HANDLE hDevice,DWORD dwIoControlCode,
    LPVOID lpInBuffer,DWORD nInBufferSize,LPVOID lpOutBuffer,
    DWORD nOutBufferSize,LPDWORD lpBytesReturned,
    LPOVERLAPPED lpOverlapped );
  函数成功调用返回为非零值。参数hDevice是要执行操作的设备的句柄,由调用CreateFile而获得;dwIoControlCode指出了操作的控制代码;lpInBuffer为指向一缓冲区的指针,缓冲区中是有待操作的数据;nInBufferSize是lpInBuffer缓冲区的大小,单位是字节;lpOutBuffer也为指向一缓冲区的指针,缓冲区中是操作的输出数据;nOutBufferSize是lpOutBuffer缓冲区的大小,单位是字节;lpBytesReturned指向一变量以接收存储到lpOutBuffer中的数据的大小,单位也是字节;lpOverlapped是OVERLAPPED结构的指针。
  3) BOOL CloseHandle( HANDLE hObject );
  若函数调用成功则返回一个非零值。参数hObject是一个打开对象的句柄。
  可以在调用CreateFile函数时指定模块名、文件名或标志某个VxD的登记簿项来打开一个静态的或动态可装载的VxD。若此VxD存在且支持设备IOCTL接口,CreateFile将返回一个设备句柄,此句柄可作为DeviceIoControl函数调用时的参数。否则CreateFile将失败,并将上一个错误值设为ERROR_NOT_SUPPORTED或ERROR_FILE_NOT_FOUND。错误值可调用函数GetLastError获得。
  在打开VxD时,必须按下列形式指定其名称://./VxDName,其中VxDName可以是指定模块名、文件名或标志某个Vx的登记簿项的名称。
  我们指定扩展名.VXD,函数将在标准搜索路径(一般为Windows下的system)中查找此文件,如:
  HANDLE hDevice;
  hDevice=CreateFile(".//testv5.vxd",0,0,NULL,0,FILE_FLAG_DELETE_ON_ CLOSE, NULL);
  同一个VxD可以打开任意多次,每次打开时,CreateFile都会提供此VxD的一个唯一句柄,但内存中决不会装入两份VxD。为保证系统能在关闭VxD的最后一个事例时将其从内存中清除,在打开动态可装载的VxD时应指定FILE_FLAG_DELETE_ON_CLOSE值。
  可用DeviceIoControl向VxD发命令。此时应指定先前打开的设备句柄,控制代码及输入输出参数。设备句柄标志了要向其发送命令的VxD,控制代码则指定了要此VxD完成的一个操作。
  DeviceIoControl的输入输出参数包括用于向VxD传入数据或接收VxD中传出数据的缓冲区的大小或地址。是否要用到这些参数取决于指定的VxD如何处理控制代码。
  当用户结束某个VxD之后,可用CloseHandle函数将与其相关的设备句柄关闭。下例将关闭某个句柄:       CloseHandle(hDevice)。将VxD关闭并不需要将其从内存中删除,CloseHandle在系统中没有与此VxD相关的有效句柄时将会把此VxD从内存中清除。

  2.3 VxD程序中的处理
  VxD可通过处理VxD的控制过程中W32_DEVICEIOCONTROL消息以支持设备IOCTL接口。
  当应用程序调用CreateFile函数时,系统向指定的VxD的控制过程发送W32_DEVICEIOCONTROL消息以决定此VxD是否能够支持设备IOCTL接口。对于动态可装载VxD,系统在首次打开此VxD时将向其发送SYS_DYNAMIC_INIT控制消息。
当应用程序调用DeviceIoControl时,系统将调用由给定的设备句柄标识的VxD之控制过程。此时EAX寄存器中包含有W32_DEVICEIOCONTROL消息,ESI寄存器中包含有一个DIOCParams结构的地址。此结构中包含应用程序在DeviceIoControl函数中指定的所有参数以及其它一些信息。VxD应检测DIOCParams结构的dwIoControlCode成员以决定待执行的操作,lpvInBuffer成员中包含VxD完成该操作所需的一些支持数据。在处理完控制代码之后,VxD应将它需要返回给应用程序的信息拷贝到lpvOutBuffer成员所指的缓冲区中。
  若VxD成功地处理了控制代码,则在返回前应将EAX寄存器清零.否则应将EAX置为某个非零值。

3. V5协议测试仪中VxD程序的设计

  3.1 VxD程序的编写工具
  我们选用MicroSoft 的VC++和Vireo Software的VtoolsD for Win95作为程序开发语言,NuMege的SoftIce95作为调试工具。
  VtoolsD开发包提供了对VxD编程的全线C++类库支持,其中最重要的是Quick VxD程序,它提供了诸多选项用来快速生成VxD代码框架,这与VC++中的Class Wizard是极为相似的。在Quick VxD可视化编程环境中,Quick VxD根据编程者的各种选择快速创建一个VxD工程文件。此文件包括:C/C++头文件,C/C++代码文件,C/C++工程文件。头文件中含有VxD所必须的类声明,还有VxD控制消息处理函数声明,Windows ring3 API调用VxD的调用入口声明等;代码文件中,QuickVxD预先生成了许多须继续编程来扩充其内在功能的类成员函数。编程者通过在这些类成员函数中添加代码,从而完成定制的功能。

  3.2 编写中的细节问题
  在V5协议测试仪中,VxD程序主要完成对ISA插卡的双口RAM的读写操作。我们命名插卡设备为TESTV5,设备类为Testv5Device,我们在应用中只须对Testv5Device的成员函数OnW32DeviceIoControl 进行一些改动。
  在高层程序和VxD程序中,我们定义了两个常量DIOC_WRITE和DIOC_READ,作为高层程序传递给VxD的控制代码,根据控制代码的不同,VxD程序中的OnW32DeviceIoControl函数对DPRAM进行读或写操作。根据插卡上硬件的跳线,DPRAM的起始地址为0x000D0000,对DPRAM的读写操作实际上就如同简单的数组的赋值。由于存储器的大小有限制,我们在读写操作中要注意判断是否到达存储器尾部。

4. 后记

  我们的实际思路使得测试仪具有很好的扩展性和可升级性,我们利用相同的硬件实现了七号信令的监测,不同的只是协议分析软件,而VxD技术可以类似的应用。在设计中我们使用了ISA总线,随着计算机技术的不断发展,我们会采用PCI总线技术,VxD技术在Windows 95/98平台下仍将有其顽强的生命力,我们可以用其实现DMA,以提高数据交换的速度。

作者会员名:tliwant

 
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
<p style="font-size:16px;color:#666666;"> <img src="https://img-bss.csdn.net/202001311426171105.png" alt="" /> </p> <p style="font-size:16px;color:#666666;"> <strong><span style="font-size:20px;">课程目标</span></strong> </p> <p style="font-size:16px;color:#666666;"> 《从零开始学Scrapy网络爬虫》从零开始,循序渐进地介绍了目前流行的网络爬虫框架Scrapy。即使你没有任何编程基础,学习起来也不会有压力,因为我们有针对性地介绍了Python编程技术。另外,《从零开始学Scrapy网络爬虫》在讲解过程中以案例为导向,通过对案例的不断迭代、优化,让读者加深对知识的理解,并通过14个项目案例,提高学习者解决实际问题的能力。 </p> <p style="font-size:16px;color:#666666;"> <br /> </p> <p style="font-size:16px;color:#666666;"> <strong><span style="font-size:20px;">适合对象</span></strong> </p> <p style="font-size:16px;color:#666666;"> 爬虫初学者、爬虫爱好者、高校相关专业的学生、数据爬虫工程师。 </p> <p style="font-size:16px;color:#666666;"> <br /> </p> <p style="font-size:16px;color:#666666;"> <span style="font-size:20px;"><strong>课程介绍</strong></span> </p> <p style="font-size:16px;color:#666666;"> 《从零开始学Scrapy网络爬虫》共13章。其中,第1~4章为基础篇,介绍了Python基础、网络爬虫基础、Scrapy框架及基本的爬虫功能。第5~10章为进阶篇,介绍了如何将爬虫数据存储于MySQL、MongoDB和Redis数据库中;如何实现异步AJAX数据的爬取;如何使用Selenium和Splash实现动态网站的爬取;如何实现模拟登录功能;如何突破反爬虫技术,以及如何实现文件和图片的下载。第11~13章为高级篇,介绍了使用Scrapy-Redis实现分布式爬虫;使用Scrapyd和Docker部署分布式爬虫;使用Gerapy管理分布式爬虫,并实现了一个抢票软件的综合项目。 </p> <p style="font-size:16px;color:#666666;"> <span style="color:#FF0000;">      由于目标网站可能会对页面进行改版或者升级反爬虫措施,如果发现视频中的方法无法成功爬取数据,敬请按照页面实际情况修改XPath的路径表达式。视频教程主要提供理论、方法支撑。我们也会在第一时间更新源代码,谢谢!</span> </p> <p style="font-size:16px;color:#666666;"> <img src="https://img-bss.csdn.net/202001311426306665.png" alt="" /> </p> <p style="font-size:16px;color:#666666;"> <strong><span style="font-size:20px;">课程特色</span></strong> </p> <p style="font-size:16px;"> <img src="https://img-bss.csdn.net/202001311426415123.png" alt="" /> </p> <div> <br /> </div>
<div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;"> </span> <div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;"> </span> <div style="color:rgba(0,0,0,.75);"> <div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;">当前课程中商城项目的实战源码是我发布在 GitHub 上的开源项目 newbee-mall (新蜂商城),目前已有 6300 多个 star,</span><span style="color:#4d4d4d;">本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 大部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 商城项目功能的讲解,让大家实际操作并实践上手一个大型的线上商城项目,并学习到一定的开发经验以及其中的开发技巧。<br /> 商城项目所涉及的功能结构图整理如下:<br /> </span> </div> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <p style="color:#4d4d4d;"> <img alt="modules" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3N0b3JlL25ld2JlZS1tYWxsLXMucG5n?x-oss-process=image/format,png" /> </p> </div> <p style="color:rgba(0,0,0,.75);"> <strong><span style="color:#e53333;">课程特色</span></strong> </p> <p style="color:rgba(0,0,0,.75);">   </p> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <ul> <li> 对新手开发者十分友好,无需复杂的操作步骤,仅需 2 秒就可以启动这个完整的商城项目 </li> <li> 最终的实战项目是一个企业级别的 Spring Boot 大型项目,对于各个阶段的 Java 开发者都是极佳的选择 </li> <li> 实践项目页面美观且实用,交互效果完美 </li> <li> 教程详细开发教程详细完整、文档资源齐全 </li> <li> 代码+讲解+演示网站全方位保证,向 Hello World 教程说拜拜 </li> <li> 技术栈新颖且知识点丰富,学习后可以提升大家对于知识的理解和掌握,可以进一步提升你的市场竞争力 </li> </ul> </div> <p style="color:rgba(0,0,0,.75);">   </p> <p style="color:rgba(0,0,0,.75);"> <span style="color:#e53333;">课程预览</span> </p> <p style="color:rgba(0,0,0,.75);">   </p> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <p style="color:#4d4d4d;"> 以下为商城项目的页面和功能展示,分别为: </p> </div> <div style="color:rgba(0,0,0,.75);"> <ul> <li> 商城首页 1<br /> <img alt="" src="https://img-bss.csdnimg.cn/202103050347585499.gif" /> </li> <li> 商城首页 2<br /> <img alt="" src="https://img-bss.csdn.net/202005181054413605.png" /> </li> <li>   </li> <li> 购物车<br /> <img alt="cart" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvY2FydC5wbmc?x-oss-process=image/format,png" /> </li> <li> 订单结算<br /> <img alt="settle" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3Qvc2V0dGxlLnBuZw?x-oss-process=image/format,png" /> </li> <li> 订单列表<br /> <img alt="orders" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3Qvb3JkZXJzLnBuZw?x-oss-process=image/format,png" /> </li> <li> 支付页面<br /> <img alt="" src="https://img-bss.csdn.net/201909280301493716.jpg" /> </li> <li> 后台管理系统登录页<br /> <img alt="login" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvbWFuYWdlLWxvZ2luLnBuZw?x-oss-process=image/format,png" /> </li> <li> 商品管理<br /> <img alt="goods" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvbWFuYWdlLWdvb2RzLnBuZw?x-oss-process=image/format,png" /> </li> <li> 商品编辑<br /> <img alt="" src="https://img-bss.csdnimg.cn/202103050348242799.png" /> </li> </ul> </div> </div> </div> </div>
<p style="color:#333333;"> <strong> </strong> </p> <p style="font-family:"color:#222226;font-size:14px;background-color:#FFFFFF;"> <strong><span style="color:#337FE5;">[为什么要学习Spring Cloud微服务]</span> </strong> </p> <p style="font-family:"color:#222226;font-size:14px;background-color:#FFFFFF;"> <strong><span style="color:#4D555D;"></span> </strong> </p> <p class="ql-long-24357476" style="font-family:"color:#222226;font-size:14px;background-color:#FFFFFF;"> <strong><span style="font-family:"background-color:#FFFFFF;">SpringCloud作为主流微服务框架,<span style="color:#4D555D;">已成为各互联网公司的首选框架,国内外企业占有率持续攀升,</span>是Java工程师的必备技能。</span><span style="font-family:"background-color:#FFFFFF;">就连大名鼎鼎的阿里巴巴</span><span style="font-family:"background-color:#FFFFFF;">dubbo</span><span style="font-family:"background-color:#FFFFFF;">也正式更名为</span><span style="font-family:"background-color:#FFFFFF;">Spring Cloud Alibaba</span><span style="font-family:"background-color:#FFFFFF;">,成为了</span><span style="font-family:"background-color:#FFFFFF;">Spring Cloud </span><span style="font-family:"background-color:#FFFFFF;">微服务中的一个子模块。</span><span style="font-family:"background-color:#FFFFFF;"></span><span style="font-family:"background-color:#FFFFFF;">Spring Cloud是企业架构转型、个人能力提升、架构师进阶的不二选择。</span> </strong> </p> <p style="color:#333333;"> <strong><strong><br /> </strong> </strong> </p> <strong><span style="font-family:"color:#337FE5;font-size:14px;background-color:#FFFFFF;">【推荐你学习这门课的理由】</span><br /> </strong> <p> <br /> </p> <p> <span>1、</span><span style="color:#222226;font-family:"font-size:14px;background-color:#FFFFFF;">本课程总计</span><span style="background-color:#FFFFFF;">29</span><span style="color:#222226;font-family:"font-size:14px;background-color:#FFFFFF;">课时,<span style="color:#333333;">从微服务是什么、能够做什么开始讲起,绝对的零基础入门</span></span><span></span> </p> <p> <span style="background-color:#FFFFFF;">2、<span style="color:#333333;">课程附带全部26个项目源码,230页高清PDF正版课件</span><span style="color:#333333;"></span></span> </p> <p> <span style="background-color:#FFFFFF;"><b><br /> </b></span> </p> <p> <span style="background-color:#FFFFFF;"><b><span style="color:#337FE5;">【课程知识梳理】</span></b></span> </p> <p> <span style="background-color:#FFFFFF;"><b>1、</b></span><span style="color:#333333;">先讲解了什么是单体架构、什么是微服务架构、他们之间有什么区别和联系,各自有什么优缺点。</span> </p> <p> <span style="color:#333333;">2、</span><span style="color:#333333;">从本质入手,使用最简单的Spring Boot搭建微服务,让你认清微服务是一种思想和解决问题的手段,而不是新兴技术。</span> </p> <p style="color:#333333;"> 3、讲解Spring Boot 与Spring Cloud 微服务架构之间的联系,原生的RestTemplate工具,以及Actuator监控端点的使用。 </p> <p style="color:#333333;"> 4、带着微服务所带来的各种优缺点,为大家引入服务发现与注册的概念和原理,从而引入我们的第一个注册中心服务Eureka。 </p> <p style="color:#333333;"> 5、引入负载均衡的理念,区分什么是服务端负载均衡,什么是客户端负载均衡,进而引入Ribbon负载均衡组件的详细使用。 </p> <p style="color:#333333;"> 6、为了解决微服务之间复杂的调用,降低代码的复杂度,我们引入了Feign声明式客户端,让你几行代码搞定服务的远程调用。 </p> <p style="color:#333333;"> 7、最后为大家介绍了整个微服务体系应该包含什么,学习路线是什么,应该学习什么。 </p> <p style="color:#333333;"> <strong><br /> </strong> </p> <p style="color:#333333;"> <strong><span style="color:#337FE5;">【</span><strong><span style="color:#337FE5;">学习方法</span></strong><span style="color:#337FE5;"></span><span style="color:#337FE5;">】</span></strong> </p> <p style="color:#333333;"> 每一节课程均有代码,最好的方式是静下心来,用一天的时间,或者两个半天时间来学习。 </p> <p style="color:#333333;"> 一边听我的讲解,一边使用我提供的项目代码进行观察和运行。 </p> <p style="color:#333333;"> 只要你能跟住我的节奏,你就可以搞定微服务。 </p> <br />
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏

CandyCat

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值