12 2022 档案
摘要:Feign是声明式的web service客户端,它让微服务的调用变得更简单了,类似Controller调用service。SpringCloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。 只需要创建一个接口,然后添加注解即可! feign,主要是社区、大家
阅读全文
摘要:Eureka包含两个组件:Eureka Server和Eureka Client。 Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
阅读全文
摘要:1、// https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discoveryimplementation group: 'com.alibaba.cloud', name:
阅读全文
摘要:1、package com.yootk.nacos; //package import com.alibaba.nacos.api.PropertyKeyConst; //PropertyKeyConstimport com.alibaba.nacos.api.naming.NamingFactor
阅读全文
摘要:1、// https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-clientimplementation group: 'com.alibaba.nacos', name: 'nacos-client', version: '2.0.2
阅读全文
摘要:1、 public static final String DEPT_ADD_URL ="http://provider-dept-8001:8001/provider/dept/add"; public static final String DEPT_GET_URL ="http://provi
阅读全文
摘要:1、// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-securityimplementation group: 'org.springframework.boot', name: '
阅读全文
摘要:1、package com.yootk.provider.config; import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration; i
阅读全文
摘要:1、// https://mvnrepository.com/artifact/io.springfox/springfox-boot-starterimplementation group: 'io.springfox', name: 'springfox-boot-starter', versi
阅读全文
摘要:1、package com.yootk.consumer.interceptor; import lombok.extern.slf4j.Slf4j;import org.springframework.http.HttpRequest;import org.springframework.http
阅读全文
摘要:1、project(":consumer-springboot-80") { // 消费端模块 dependencies { implementation(project(":common-api")) // 导入公共的子模块 } } 2、server: # 服务端配置 port: 80 # 这个接
阅读全文
摘要:1、curl http://provider-dept-8001:8001/provider/dept/get/1curl http://provider-dept-8001:8001/provider/dept/listcurl "http://provider-dept-8001:8001/pr
阅读全文
摘要:1、 // https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starterimplementation group: 'com.baomidou', name: 'mybatis-plus-boot-starter'
阅读全文
摘要:1、ext.versions = [ // 定义全部的依赖库版本号 springboot : '2.2.5.RELEASE', // SpringBoot版本号 springcloud : 'Hoxton.SR3', // SpringCloud版本号 alibabacloud : '2.2.1.R
阅读全文
摘要:1、https://spring.io/projects/spring-cloud 2、https://docs.spring.io/spring-cloud/docs/current/reference/html/ 0107_【掌握】SpringCloudAlibaba技术架构 1、https:/
阅读全文
摘要:非阻塞和异步I/O 在socket编程中可以使用函数fcntl(int fd, int cmd, int arg)的如下的编程特性。获得文件状态标志:将cmd设置为F_GETFL,会返回由fd指向的文件的状态标志。非阻塞I/O:将cmd设置为F_SETFL,将arg设置为O_NONBLOCK异步I/
阅读全文
摘要:7.2.1 套接字(socket)概述 7.2.2 地址及顺序处理 7.2.3 套接字编程 套接字定义 在Linux中的网络编程是通过socket接口来进行的。套接字(socket)是一种特殊的I/O接口,它也是一种文件描述符。socket是一种常用的进程之间通信机制,通过它不仅能实现本地机器上的进
阅读全文
摘要:7.1.1 TCP/IP的分层模型7.1.2 TCP/IP的分层模型特点7.1.3 TCP/IP核心协议 OSI协议参考模型,它是基于国际标准化组织(ISO)的建议发展起来的,它分为7个层次:应用层、表示层、会话层、传输层、网络层、数据链路层及物理层。 这个7层的协议模型虽然规定得非常细致和完善,但
阅读全文
摘要:所谓线程私有数据是除局部数据和全局数据的第三类数据,这个概念是随着线程的诞生而提出来的。 假设你的一个线程里面嵌套调用了很多函数,而你又需要在这些函数之间使用一个公共的变量,如果在单线程环境中,我们是不是声明一个全局变量就解决问题了呢? 但是我们想使这个“公共变量”只属于我们当前这个实例线程,其他线
阅读全文
摘要:pthread_create()函数的第二个参数(pthread_attr_t *attr)表示线程的属性。 如果该值设为NULL,就是采用默认属性,线程的多项属性都是可以更改的。 这些属性主要包括绑定属性、分离属性、堆栈地址、堆栈大小以及优先级。其中系统默认的属性为非绑定、非分离、缺省1M的堆栈以
阅读全文
摘要:消息队列就是一些消息的列表。 用户可以在消息队列中添加消息和读取消息等。从这点上看,消息队列具有一定的FIFO特性,但是它可以实现消息的随机查询,比FIFO具有更大的优势。同时,这些消息又是存在于内核中的,由“队列ID”来标识。
阅读全文
摘要:信号概述 信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式 信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了哪些系统事件。它可以在任何时候发给某一进程,而无需知道该进程的状态。 如果该进程当前并未处于执行态,则该信号就由内核保存起来,直到该进程
阅读全文
摘要:管道简介Linux的管道主要包括两种:无名管道和有名管道。无名管道特点 它只能用于具有亲缘关系的进程之间的通信(也就是父子进程或者兄弟进程之间)。 它是一个半双工的通信模式,具有固定的读端和写端。 管道也可以看成是一种特殊的文件,对于它的读写也可以使用普通的read()、write()等函数。但是它
阅读全文
摘要:Linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的 集合System V IPC(贝尔实验室)和socket的进程间通信机制(BSD)的优势 Unix进程间通信(IPC)方式包括管道、FIFO以及信号。 System V进程间通信(IPC)包括System V消息队列、Sy
阅读全文
摘要:守护进程,也就是通常所说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件 守护进程常常在系统引导装入时启动,在系统关闭时终止 Linux系统有很多守护进程,大多数服务都是用守护进程实现的 在Linux中,每
阅读全文
摘要:fork() fork()函数用于从已存在的进程中创建一个新进程。 新进程称为子进程,而原进程称为父进程。 使用fork()函数得到的子进程是父进程的一个复制品,它从父进程处继承了整个进程的地址空间,包括进程上下文、代码段、进程堆栈、内存信息、打开的文件描述符、信号控制设定、进程优先级、进程组号、当
阅读全文
摘要:标准I/O提供流缓冲的目的是尽可能减少使用read()和write()等系统调用的数量。标准I/O提供了3种类型的缓冲存储。 全缓冲:在这种情况下,当填满标准I/O缓存后才进行实际I/O操作。对于存放在磁盘上的文件通常是由标准I/O库实施全缓冲的。标准I/O尽量多读写文件到缓冲区,当缓冲区已满或手
阅读全文
摘要:I/O处理模型 阻塞I/O模型 非阻塞模型 I/O多路转接模型 信号驱动I/O模型 异步I/O模型select和poll的I/O转接模型是处理I/O复用的一个高效的方法
阅读全文
摘要:文件锁包括建议性锁和强制性锁。 建议性锁要求每个上锁文件的进程都要检查是否有锁存在,并且尊重已有的锁。 在一般情况下,内核和系统都不使用建议性锁。强制性锁是由内核执行的锁,当一个文件被上锁进行写入操作的时候,内核将阻止其他任何文件对其进行读写操作。采用强制性锁对性能的影响很大,每次读写操作都必须检查
阅读全文
摘要:对于Linux而言,所有对设备和文件的操作都是使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数。 一个进程启动
阅读全文
摘要:Linux系统成功的关键因素之一就是具有与其他操作系统和谐共存的能力。Linux的文件系统由两层结构构建。第一层是虚拟文件系统(VFS),第二层是各种不同的具体的文件系统。 VFS在linux系统中的位置如图:
阅读全文
摘要:系统命令相对API更高了一层,它实际上一个可执行程序,它的内部引用了用户编程接口(API)来实现相应的功能 ,它们之间的关系如图:
阅读全文
摘要:在Linux中,用户编程接口(API)遵循了在Unix中最流行的应用编程界面标准——POSIX标准。POSIX标准是由IEEE和ISO/IEC共同开发的标准系统。该标准基于当时现有的Unix实践和经验,描述了操作系统的系统调用编程接口(实际上就是API),用于保证应用程序可以在源代码一级上在多种操作
阅读全文
摘要:系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口获得操作系统内核提供的服务。例如用户可以通过进程控制相关的系统调用来创建进程、实现进程之间的通信等。 在Linux中,为了更好地保护内核空间,将程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态)
阅读全文
摘要:/etc/inittab格式id:runlevels:action:processid:ID 意义对BusyBox init 和 System V init 是不同的,此处ID指明程序的控制tty,如果程序不需要交互, 则ID为空runlevels:BusyBox init 不支持runlevel,
阅读全文
摘要:获取源码$ wget -c http://www.busybox.net/downloads/busybox-1.23.2.tar.bz2解压并进入源码目录$ tar -jxvf busybox-1.23.2.tar.bz2$ cd busybox-1.23.2/配置$ make menuconfi
阅读全文
摘要:BusyBox 项目是由Bruce Perens in 在1996创建的http://www.busybox.net/BusyBox 是在 GNU GPL 许可协议下发行的开源软件享有“嵌入式Linux的瑞士军刀”美誉,Erik Andersen先生维护;Busybox是一个UNIX系统工具集,它将
阅读全文
摘要:采用Busybox创建基本命令创建基本的目录 /lib /etc /var /tmp /dev /sys /proc等添加glibc基本动态库创建基本的设备节点添加启动配置和脚本程序 /etc/inittab /etc/fstab /etc/init.d/rcS测试根文件系统制作根文件系统镜像
阅读全文
摘要:使用不同的文件目录层次结构?FHS(文件系统层次化标准)规定了制定根文件系统的规则 通常大多少应用程序和发布依赖这些规则,但这些规则不是内核强制的在嵌入式Linux系统中,你可以构建一个完全不同的根目录层次结构 相应的AP配置需要适当调整建议遵循FHS来构建根文件系统 文件系统层次化标准 Files
阅读全文
摘要:创建设备节点创建设备文件的一般语法: $ mknod /dev/<device> [c|b] <major> <minor>例如: $ mknod /dev/ttySAC0 c 4 64 $ mknod /dev/hda1 b 3 1 基本设备节点(见下表)
阅读全文
摘要:设备的主设备号次设备号Linux系统是通过主设备号和次设备号来区分设备的主设备号: (major) 内核用来区分哪类设备次设备号: (minor) 区分某类设备中的哪个设备内核中的相关文档 Documentation/devices.txt
阅读全文
摘要:“b” 指明该设备节点是块设备 (ls -l)brw-rw 1 root disk 3, 1 Feb 23 2004 hda1brw-rw 1 jdoe floppy 2, 0 Feb 23 2004 fd0brw-rw 1 root disk 7, 0 Feb 23 2004 loop0brw-r
阅读全文
摘要:典型设备keyboards, mice, parallel port, IrDA, Bluetooth port, consoles, terminals, sound, video...
阅读全文
摘要:字符设备ls –l /dev/ “c” 指明该设备节点是字符设备crw-rw 1 root uucp 4, 64 Feb 23 2004 /dev/ttyS0crw--w 1 jdoe tty 136, 1 Feb 23 2004 /dev/pts/1crw 1 root root 13, 32 F
阅读全文
摘要:Linux 系统中所有的对象(包括设备)都是以文件的形式体现的 Linux系统中,所有的设备文件(如:设备节点),通常放到 /dev下 嵌入式系统中只需要创建必须的设备节点即可
阅读全文
摘要:库文件目录 /lib: 系统和运行基本命令时需要的动态库文件 /usr/lib:所有的其他库 /usr/lib/xxx: 一些工具包的私有库 如:/usr/lib/perl5
阅读全文
摘要:配置基本的linux命令(嵌入式linux通过busybox制作) cat, chmod, chown, cp, chroot, copi, date, dd, df, dmesg, dos2unix, du, echo, env, expr, find, grep, gunzip, gzip, h
阅读全文
摘要:/usr/sbin: 更多非必须的root工具程序 automount, httpd, in.telnetd, in.talkd, sendmail
阅读全文
摘要:/usr/bin: 更多非必须的用户程序 autorun, bibtex, latex, biff, ftp, wc, whereis, whoami
阅读全文
摘要:/sbin: root用户能执行的基本程序 int, insmod, route, mkfs, rmmod, ifconfig
阅读全文
摘要:/bin: 普通用户和root用户都能执行的基本程序 ping, mknod, mount, tar, grep, gzip, etc
阅读全文
摘要:嵌入式系统简介嵌入式系统组成嵌入式Linux系统介绍嵌入式系统开发方式系统移植的主要任务搭建开发环境U-Boot命令的使用ARM交叉编译工具链
阅读全文
摘要:3.5.3.1 哈希表的概念及作用 3.5.3.2 哈希表的构造方法 3.5.3.3 哈希表的处理冲突方法 3.5.3.4 ARM Linux中哈希表使用实例
阅读全文
摘要:平衡树包括很多种类,常见的有B树、AVL树、红黑树等。 这些树都大致平衡,能保证最坏情况下为O(logN)的性能,因此广受大家的欢迎。 但是由于平衡机制的不同,这些树都有着不同的应用场景和不同的统计性能,其中B树主要用于文件系统、数据库等方面,而AVL树和红黑树多用于检索领域。 由于红黑树在平衡机制
阅读全文
摘要:二叉树的定义 二叉树是一种有序树,它是节点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。 它的特点是每个节点至多只有两棵子树(即二叉树中不存在度大于2的节点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。 二叉树的定义 (1)满二叉树
阅读全文
摘要:树是由 n (n >= 0) 个结点组成的有限集合。如果 n = 0,称为空树;如果 n > 0,则 有一个特定的称之为根的结点,它只有直接后继,但没有直接前驱; 除根以外的其它结点划分为 m (m >= 0) 个 互不相交的有限集合T0, T1, …, Tm-1,每个集合又是一棵树,并且称之为根的
阅读全文
摘要:4.2.1 树的定义 4.2.2 二叉树 4.2.3 平衡树 4.2.4 ARM Linux中红黑树使用实例
阅读全文
摘要:3.5.1 链表 3.5.2 树、二叉树、平衡树 3.5.3 哈希表
阅读全文
摘要:memory描述符告知gcc以下内容。 不要将该段内嵌汇编指令与前面的指令重新排序。 不要将变量缓存到寄存器。 如果汇编指令修改了内存,但是gcc本身却察觉不到,因为在输出部分没有描述,此时就需要在修改描述部分增加memory,告诉gcc内存已经被修改,gcc得知这个信息后,就会在这段指令之前,插入
阅读全文
摘要:C语言关键字volatile表明某个变量的值可能随时被外部改变,因此对这些变量的存取不能缓存到寄存器,每次使用时需要重新读取。 volatile的本意是指这个值可能会在当前线程外部被改变,此时编译器知道该变量的值会在外部改变,因此每次访问该变量时会重新读取。 这个关键字在外设接口编程中经常会使用。
阅读全文
摘要:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度,以上是硬件级别的优化。 软件级别的优化有两种:一种是在编写代
阅读全文
摘要:汇编语言模板汇编语句模板由汇编语句序列组成,语句之间使用“;”、“\n”或“\n\t”分开。 每条指令都必须被双引号括起来。两条指令必须用换行或分号分开。 指令中的操作数可以使用占位符引用C语言变量,操作数占位符最多10个,名称如为:%0,%1,...,%9 输出部分输出部分用来指定当前内联汇编语句
阅读全文
摘要:字节顺序是指一个字中各个字节的顺序,有大端模式和小端模式。 大端模式是指在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端模式是指与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。ARM体系结构支持大端模式(big-e
阅读全文
摘要:对齐是内存数据与内存中的相对位置相关的话题。一些体系结构对对齐的要求非常严格。通常基于RISC的系统载入未对齐的数据会导致处理器陷入(一种可处理的错误);还有一些系统可以访问没有对齐的数据,但性能会下降。
阅读全文
摘要:能够由机器一次完成处理的数据称为字,不同体系结构的字长通常会有所区别。
阅读全文
摘要:有一些预处理定义的符号串,它们的值或者是字符串常量,或者是十进制数字常量,它们通常在调试程序时用于输出源程序的各项信息 。 ——FILE —— ——LINE —— ——FUNCTION—— ——DATE—— ——TIME—— ——STDC——
阅读全文
摘要:在嵌入式系统开发中,我们经常通过使用交叉调试工具实现远程调试。 采用远程调试的主要原因是大多数嵌入式平台不太适合进行本地调试,在很多嵌入式平台上内存等资源受限制,并且附带调试信息的可执行程序往往超过几兆字节大小。使用交叉调试,可以减轻嵌入式平台的这些负担。 gdb调试器提供了两种不同的远程调试方法,
阅读全文
摘要:进入GDB ——gdb test 查看文件——l 设置断点 ——b 6 查看断点处情况 ——info b 运行代码 ——r 查看变量值 ——p n / p i 单步运行 ——n 恢复程序运行 ——c 观察变量 ——watch n 退出GDB ——q
阅读全文
摘要:申请方式 栈 (stack)是由系统自动分配的。例如,声明函数中一个局部变量“int b;”,那么系统自动在栈中为b开辟空间。 堆(heap)需要程序员自己申请,并在申请时指定大小。使用C语言中的malloc函数的例子如下所示。 p1 = (char *)malloc(10); 申请后系统的响应 只
阅读全文
摘要:malloc/free 野指针: 不是NULL指针,是指向“垃圾”内存的指针。“野指针”是很危险的。 出现“野指针”主要有以下原因: 指针变量没有被初始化。 指针p被free或者delete之后,没有置为NULL,让人误以为p是个合法的指针。 指针操作超越了变量的作用范围。这种情况让人防不胜防。
阅读全文
摘要:malloc/free void * malloc(size_t num) void free(void *p) malloc函数只关心申请的内存的大小。 malloc申请到的是一块连续的内存,有时可能会比所申请的空间大。其有时会申请不到内存,返回NULL。 malloc返回值的类型是void *,
阅读全文
摘要:当程序运行到需要一个动态分配的变量或对象时,必须向系统申请取得堆中的一块所需大小的存贮空间,用于存贮该变量或对象。 当不再使用该变量或对象时,也就是它的生命结束时,要显式释放它所占用的存贮空间,这样系统就能对该堆空间进行再次分配,做到重复使用有限的资源。 堆区是不会自动在分配时做初始化的(包括清零)
阅读全文
摘要:动态存储分配 有些操作对象只有在程序运行时才能确定,这样编译器在编译时就无法为他们预先分配空间,只能在程序运行时分配。 所有动态存储分配都在堆区中进行。 程序在运行的时候用malloc或new申请任意大小的内存。 程序员自己负责在何时用free或delete释放内存。 动态内存的生存期由我们决定,使
阅读全文
摘要:通常定义变量,编译器在编译时都可以根据该变量的类型知道所需内存空间的大小,从而系统在适当的时候为他们分配确定的存储空间。 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。 栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限
阅读全文
摘要:代码区/全局变量与静态变量区/局部变量区即栈区/动态存储区,即堆区。
阅读全文
摘要:C语言extern用法_哔哩哔哩_bilibili
阅读全文
摘要:C语言static变量 结果: C语言经典例子之static定义静态变量的用法_哔哩哔哩_bilibili
阅读全文
摘要:【C语言】学习使用register定义变量的方法。_哔哩哔哩_bilibili 输出10
阅读全文
摘要:-c dir 读入指定目录下的makefile -f file 读入当前目录下的file文件作为makefile -i 忽略所有的命令执行错误 -I dir 指定被包含的makefile所在目录 -n 只打印要执行的命令,但不执行这些命令 -p 显示make变量数据库和隐含规则 -s 不显示命令 -
阅读全文
摘要:makefile的规则是make进行处理的依据,它包括了目标体、依赖文件及其之间的命令语句。 普通规则 隐含规则 模式规则
阅读全文
摘要:$* 不包含扩展名的目标文件名称 $+ 所有的依赖,以空格分开,并以出现的先后顺序,可能包含重复的依赖文件 $< 第一个依赖文件的名称 $? 所有时间戳比目标文件晚的依赖,并以空格分开 $@ 目标文件的完整名称 $^ 所有不重复的依赖文件,以空格分开 $% 如果目标是归档成员,则该变量表示目标的归档
阅读全文
摘要:AR 库文件维护程序的名称,默认值为ar。 AS CC Cpp Cxx FC RMarflags ASflags Cflags CPPFlags CXXflags FFlags 例如: #预定义变量的使用
阅读全文
摘要:变量种类 用户自定义变量 预定义变量 自动变量 环境变量 OBJS = kang.o yul.o CC = gccCFLAGS = -Wall -O -gdavid : $(OBJS) $(CC) $^ -o $@kang.o : kang.c kang.h $(CC) $(CFLAGS) -c $
阅读全文
摘要:用来代替一个文本字符串 变量定义的两种方式 递归展开方式VAR=var 简单方式 VAR:=var 变量使用$(VAR) OBJS = kang.o yul.o CC = gcc CFLAGS = -Wall -O -g david : $(OBJS) $(CC) $(OBJS) -o david
阅读全文
摘要:工程管理器,顾名思义,是指管理较多的文件 Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能构根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作 makefile是make读入的惟一配置文件,因此本节的内容实际就
阅读全文
摘要:gdb中查看运行数据的相关命令 print 表达式|变量 x《n/f/u》 display 表达式 backtrace 查看当前栈的情况
阅读全文
摘要:list 【行号】或函数名 file 【文件名】 forward-search 正则表达式 reverse-search 正则表达式 dir dir 停止路径名 show directories info line
阅读全文
摘要:INF B break [文件名:] 行号 或函数名 《条件表达式> 设置断点 tbreak [文件名:] 行号 或函数名 《条件表达式> 设置临时断点 delete 【断点号】 disable【断点号】 enable 【断点号】 condition【断点号】《条件表达式> ignore 【断点号】
阅读全文
摘要:set args show args path dir show paths set environment var =[value] show environment [var] cd dir pwd shell command
阅读全文
摘要:gcc可以对代码进行优化,它通过编译选项“-On”来控制优化代码的生成,其中n是一个代表优化级别的整数。
阅读全文
摘要:gcc –Wall warning.c –o warning warning.c:4 警告:“main”的返回类型不是“int” warning.c: 在函数“main”中: warning.c:7 警告:在无返回值的函数中,“return”带返回值 warning.c:5 警告:未使用的变量“tm
阅读全文
摘要:gcc –pedantic warning.c –o warning warning.c: 在函数“main”中: warning.c:5 警告:ISO C90不支持“long long” warning.c:7 警告:在无返回值的函数中,“return”带返回值 warning.c:4 警告:“m
阅读全文
摘要:gcc –ansi warning.c –o warning warning.c: 在函数“main”中: warning.c:7 警告:在无返回值的函数中,“return”带返回值 warning.c:4 警告:“main”的返回类型不是“int”
阅读全文
摘要:动态库只有在使用它的程序执行时才被链接使用,而不是将需要的部分直接编译入可执行文件中,并且一个动态库可以被多个程序使用故可称为共享库,而静态库将会整合到程序中,因此在程序执行时不用加载静态库。 从而可知,链接到静态库会使你的程序臃肿,并且难以升级,但是可能会比较容易部署。 而链接到动态库会使你的程序
阅读全文
摘要:1.3.1 GCC概述1.3.2 GCC编译流程分析1.3.3 GCC警告提示1.3.4 GCC使用库函数1.3.5 GCC代码优化 GCC除了能支持C语言外,目前还支持Ada语言、C++语言、Java语言、Objective C语言、PASCAL语言、COBOL语言,以及支持函数式编程和逻辑编程的
阅读全文
摘要:C语言产生的历史背景 嵌入式Linux下C语言的开发环境嵌入式Linux下的编辑器vi嵌入式Linux下的编译器GCC嵌入式Linux下的调试器GDB嵌入式Linux下的工程管理器makeEclipse集成开发环境 1.1 嵌入式Linux下C语言概述1.2 嵌入式Linux编辑器vi的使用1.3
阅读全文
摘要:相关函数: malloc 头文件 : #include <stdlib.h> 函数原型: void *malloc(size_t size); 函数说明: 分配内存 返回值 : 成功返回分配的内存的首地址 失败返回NULL 相关函数: free 头文件 : #include <stdlib.h> 函
阅读全文
摘要:相关函数: abort 头文件 : #include <stdlib.h> 函数原型: void abort(void); 函数说明: 引起进程异常终止,此时所有已打开的文件流会自动关闭,缓冲区里的数据也会自动写回 返回值 : 无 相关函数: assert 头文件 : #include <asser
阅读全文
摘要:相关函数: stat 头文件 : #include <sys/stat.h> #include <unistd.h> 函数原型: int stat(const char *path, struct stat *buf); 函数说明: stat用来将参数path指向的文件的属性复制到参数buf所指向的
阅读全文
摘要:相关函数: printf 头文件 : #include <stdio.h> 函数原型: int printf(const char *format, …); 函数说明: printf会根据参数format来转换并格式化数据,然后将结果写到标准输出 参数format可包含下列三种字符类型: 1. 直接
阅读全文
摘要:相关函数: fopen 头文件 : #include <stdio.h> 函数原型: FILE *fopen(const char *path, const char *mode); 函数说明: 参数path字符串包含要打开的文件路径和文件名 参数mode代表打开的方式,含义如下: r 打开只读文件
阅读全文
摘要:相关函数: open 头文件 : #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> 函数原型: int open(const char *pathname, int flags); int open(const char
阅读全文
摘要:相关函数: ctime 头文件 : #include <time.h> 函数原型: char *ctime(const time_t *timeptr); 函数说明: 将参数timeptr所指向的time_t结构中的信息转换成时间日期表示方法,以字符串形式返回 返回值 : 指向包含时间信息的字符串的
阅读全文
摘要:相关函数: strstr 头文件 : #include <string.h> 函数原型: char *strstr(const char *haystack, const char *needle); 函数说明: 在字符串haystack中查找字符串needle 返回值 : 返回指定字符串第一次出现
阅读全文
摘要:相关函数: strlen 头文件 : #include <string.h> 函数原型: size_t strlen(const char *s); 函数说明: 计算指定的字符串s的长度,不包括结束符’\0’ 返回值 : 返回字符串s包含的字符数
阅读全文
摘要:头文件 : #include <string.h> 函数原型: char *strncpy(char *dest, const char *src, size_t n); 函数说明: 将参数str指向的字符串前n个字符拷贝到参数dest所指向的地址 返回值 : 返回dest的值
阅读全文
摘要:头文件 : #include <string.h> 函数原型: char *strcpy(char *dest, const char *src); 函数说明: 将参数str指向的字符串拷贝到参数dest所指向的地址 返回值 : 返回dest的值
阅读全文
摘要:头文件 : #include <string.h> 函数原型: int strcmp(const char *s1, const char *s2); 函数说明: 比较参数s1和s2所指向的字符串 返回值 : 若字符串相等则返回0;若字符串s1大于字符串s2则返回大于0 的整数,否则返回小于0的整数
阅读全文
摘要:头文件 : #include <string.h> 函数原型: int strncmp(const char *s1, const char *s2, size_t n); 函数说明: 比较参数s1和s2所指向的字符串的前n个字符 返回值 : 若字符串相等则返回0;若字符串s1大于字符串s2则返回大
阅读全文
摘要:头文件 : #include <string.h> 函数原型: char *strncat(char *dest, const char *src, size_t n); 函数说明: 将参数str指向的字符串拷贝n个字符到参数dest所指向的字符串尾,dest所指向的内存空间要足够大 返回值 : 返
阅读全文
摘要:头文件 : #include <string.h> 函数原型: char *strcat(char *dest, const char *src); 函数说明: 将参数str指向的字符串拷贝到参数dest所指向的字符串尾,dest所指向的内存空间要足够大 返回值 : 返回dest的值
阅读全文
摘要:相关函数: memset 头文件 : #include <string.h> 函数原型: void *memset(void *s, int c, size_t n); 函数说明: 将参数s所指向的内存前n个字节以参数c填入 返回值 : 返回s的值
阅读全文
摘要:头文件 : #include <string.h> 函数原型: int memcpy(const void *s1, const void *s2, size_t n); 函数说明: 比较s1和s2所指向内存区域前n个字节 返回值 : 若完全相同则返回0。若s1指向的内存中的值大于s2指向的内存,则
阅读全文
摘要:相关函数: memcpy 头文件 : #include <string.h> 函数原型: void *memcpy(void *dest, const void *src, size_t n); 函数说明: 拷贝src所指向的内存前n个字节到dest所指向的内存 返回值 : 返回dest的值
阅读全文
摘要:相关函数: bzero 头文件 : #include <string.h> 函数原型: void bzero(void *s, int n); 函数说明: 将参数s指向的内存区域前n个字节,全部设置为0 返回值 : 无
阅读全文
摘要:电子元件 中周.txt 1.1 寄存器描述表中使用的缩写列表 一、位操作:二、条件编译:三、结构体和结构体指针:四、typedef声明类型:五、extern关键字:
阅读全文
摘要:system("pause"); #include <iostream>using namespace std; #include <iostream >using namespace std; template <typename T> T Add2Value(T a, T b){ T resul
阅读全文
摘要:1. Dubbox介绍 1.1 Dubbox和Dubbo Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。 Dubbo团队解散后,当当网对Dubbo框架进行升级,升级后的版本为Dubbox,本次抢购网项
阅读全文
摘要:添加事务的步骤很简单,只需要两步。 第一步,在启动类中添加@EnableTransactionManagement注解。 第二步,在需要添加事务的方法上面添加@Transactional注解。
阅读全文
摘要:第一步,按照第2.2节中的内容创建Spring Boot项目,项目创建完成之后打开pom.xml,添加如图3.1所示依赖 如图3.1 图中mybatis-spring-boot-starter是与MyBatis相关的依赖,mysql-connector-java是对MySQL进行持久化操作的相关依赖
阅读全文
摘要:如图2.5所示即为Spring Boot创建完成之后的项目结构, 图2.5 在此图中大家需要关注的只有四个地方,即为图中红框框起来的内容: pom.xml:项目依赖 Spring Boot框架所需要的依赖主要有两个: 1) spring-boot-starter-web 此依赖包含的内容有:Spri
阅读全文
摘要:2.1环境要求 JDK1.7及以上版本,Maven3.2及以上版本,IDEA14及以上版本 2.2搭建步骤 第一步:打开IDEA,选择File,新建project或者module,弹出如图2.1所示的窗 口 这里JDK默认选择1.8,如果没有安装JDK1.8,只要是1.7及以上的版本都可以。 第二步
阅读全文
摘要:Spring Boot技术分析与运用—抢购网项目 在互联网兴起的时代,高可用、高性能和高可扩展性的项目架构方式将是一个必然趋势,而微服务则是目前最好的选择。微服务是更细粒度的分布式,它不再只由一个项目构成,而是将整个系统分割成更多的子项目,项目多了必然给框架的搭建和项目的运维带来更大的挑战,比如大量
阅读全文
摘要:package com.example.demo; import com.example.demo.config.JavaConfig; import com.example.demo.model.Printer; import org.junit.Test; import org.junit.ru
阅读全文
摘要:package com.example.demo; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import java
阅读全文
摘要:package com.example.demo; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.Enable
阅读全文
摘要:package com.example.controller; import com.example.model.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframewo
阅读全文
摘要:package com.example.util; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springfra
阅读全文
摘要:package com.example.demo; import com.example.model.User; import com.example.util.SpringUtil; import org.junit.Test; import org.junit.runner.RunWith; i
阅读全文
摘要:本文档中主要描述如何进行双 11 抢购项目的本地运行和部署。 1、环境说明 1) 服务器配置 内存 16G+(DDR3 或以上) CPU 标准电压版 i5(3470+) 4 核单线程(双线程更好) 硬盘 500G 以上 说明:服务器指用于运行分布式微服架构项目依赖环境(如 Docker 环境)及 部
阅读全文
摘要:在本地有了镜像之后(默认安装 Docker 后,会自带初始镜像,可通过 Dockerimages 命令进行查看),开发者就可以使用镜像生成容器,具体命令如下: docker run -d -p 8888:8080 --name tomcat-test tomcat 启动 tomcat 镜像成为容器,
阅读全文
摘要:开发者在装有 Docker 的机器上可以使用一些命令,进行镜像的管理。命令如下。 1. 镜像的查看 使用以下命令可以查看本地镜像列表,展示结果如图 7 所示。 其中IMAGE_ID 为镜像的唯一标识。 后续很多镜像相关操作都是基于 IMAGE_ID 或镜像名称 docker images 2. 镜像
阅读全文
摘要:目前 Docker 官方提供 Ubuntu、CentOS、Windows、MacOS 操作系统的安装包。具体支持版本如下: ➢ Ubuntu ◼ Ubuntu Precise 12.04 (LTS) ◼ Ubuntu Trusty 14.04 (LTS) ◼ Ubuntu Wily 15.10 ◼
阅读全文
摘要:在 Dokcer 中共有四种网络模式: ⚫ host 模式,使用 --net=host 指定 ⚫ container 模式,使用 --net=container:NAMEorID 指定 ⚫ none 模式,使用 --net=none 指定 ⚫ bridge 模式,使用 --net=bridge 指定
阅读全文
摘要:Docker 在实际运行过程中的运行原理如图 6 所示。 Client 代表操作用户, Docker_Host 代表安装有 Docker 的宿主机。 Registry 代表 Docker 官方或第三方记录中心。 操作用户可以利用 Docker 客户端主要完成以下操作。 ➢ 用户可以通过客户端从 Re
阅读全文
摘要:Docker Registry(记录中心)是 Docker 官方及一些第三方机构(国内比如阿里、腾讯都提供有 Docker 的记录中心)为了方便大家更轻松的开发 Docker 环境, 将一些常用的容器打包成为镜像(如 JDK 镜像、Tomcat 镜像、Nginx 镜像等)。 开发者可以直接从 Reg
阅读全文
摘要:Docker Image(镜像)可以看作是一个特殊的文件系统。即对某一时刻容器状态的备份。镜像不包含任何动态数据,其内容在构建之后也不会被改变。 比如我们在一个容器内安装了 JDK 环境,为了更好的复用,我们可以将此容器打包成为镜像。 利用该镜像我们可以还原当初容器状态。也可以生成更多容器。 抢购网
阅读全文
摘要:Docker Container(容器)即 Docker 将宿主机隔开的一个个独立空间。在容器内部我们可以像操作普通系统一样操作容器。容器完全使用沙箱机制,相互之 间不会有任何接口,几乎没有性能开销,可以很容易地在机器和数据中心中运行。 最重要的是,他们不依赖于任何语言、框架包括系统。在日常的应用中
阅读全文
摘要:虽然 Docker 和虚拟机有着很多的相似之处,但是 Docker 和虚拟机之间有着本质的区别。 从图中可以看出虚拟机运行基于 6 层结构。6 层结构包括硬件层、宿主机操作系统层、虚拟机系统层(如VmWare)、虚拟机操作系统层、应用程序依赖层、应用程序层。 而 Docker 实际运行的结构如图 3
阅读全文
摘要:1. 概念介绍 Docker 是一个基于 LXC 技术构建的容器引擎,基于 GO 语言开发,遵循Apache2.0 协议开源。 简单的讲,Docker 可以把一台服务器隔离成为一个个的容器。 我们可以将容器理解为一种沙盒。 每个容器内运行一个应用,不同的容器相互隔离。 容器的创建和停止都十分快速(秒
阅读全文
摘要:1. 创建用户模块 eureka模块创建好后,我们便开始创建3个业务微服务模块。首先创建用户模块user,创建好后编辑pom.xml,如程序清单15-6所示。 接着,我们把application.properties文件的扩展名改为.yml,然后添加程序清单15-7所示的配置。这里不赘述,因为和co
阅读全文
摘要:父工程和common模块创建好后,创建名为“eureka”的模块。然后,编辑pom.xml,如程序清单15-4所示。 接着,我们把application.properties文件的扩展名改为.yml,然后添加程序清单15-5所示的配置。这里不做过多解释,详细讲解可以参见第9章第2节。
阅读全文
摘要:1、创建Maven项目 下面,我们正式开始开发项目。 首先,创建一个Maven项目作为微服务的父工程,将其命名为“mall” 。如图所示。 创建好后,编辑pom.xml文件,如程序清单15-1所示。 2、创建common模块 很多情况下,各个微服务会用到同样的代码,如果把这些公用的代码抽离出来单独做
阅读全文
摘要:1、开发工具 项目开发工具如下。 (1)项目开发工具:IntelliJ IDEA。 (2)项目管理工具:Maven。 (3)数据库管理工具:Navicat。 (4)前端部署工具:Nginx。 2、开发环境 项目开发环境如下。 (1)操作系统:Windows。 (2)Java开发包:JDK 8。 (3
阅读全文
摘要:1、系统架构设计 了解了我们要做的项目以及具体的业务功能之后,我们就可以开始设计我们的系统架构和设计数据库了。 考虑到到电商类的系统模块比较多,并且我们也希望整个系统不同模块之间的耦合性越低越好,各个模块独立运行这样的话模块间影响也小,整个系统的稳定性和灵活性就大大提高,所以我们考虑使用Spring
阅读全文
摘要:1、项目背景 学习过Spring Boot和Spring Cloud技术之后我们知道,Spring Boot框架可以让我们快速开发一个项目,特别适合小项目或者单一服务的开发,这意味着诸如CRM(Customer Relationship Management,客户关系管理)、OA(Office Au
阅读全文
摘要:熟悉电商项目基本功能。 熟悉项目架构搭建与数据库设计。 熟悉Spring Boot框架和微服务Spring Cloud框架在项目中的使用。 掌握电商项目用户、商品、订单等模块的实现。 掌握项目网关实现接口统一访问和服务监控。 掌握项目的部署和运行。 从学习Spring Boot快速开发与使用Spri
阅读全文
摘要:我们知道在微服务架构中有了Config Server配置中心之后就可以让我们从远程git仓库读取配置文件,以达到配置集中管理以及配合Spring Cloud Bus实现配置的自动刷新。 但是如果配置中心宕机或者出现其他故障,那将会是一个“噩耗”,可能导致所有的Config Client服务无法读取配
阅读全文
摘要:在上一节中我们学习了在Spring Cloud微服务系统架构中使用Config Server进行本地仓库配置读取和线上环境的远程仓库git配置读取,让我们在多个微服务下也可以进行配置信息的集中管理。但是还有一个问题,那就是Config Server从git读取配置文件是项目启动的时候进行的,如果项目
阅读全文
摘要:通过之前的介绍我们知道Config Server读取配置文件有2种方式: 一种是从本地仓库中读取并缓存到Config Server项目中; 另外一种是从远程仓库读取(这里我们以git为例)并缓存到Config Server项目中供Config Client获取。 所以下面我们会这两种不同的方式搭建C
阅读全文
摘要:市场上的开源的配置中心有很多,如奇虎360的QConf、淘宝的Diamond、百度的Disconf、携程的Apollo都可解决上述提到的问题,同样地Spring Cloud提供的配置中心则是Spring Cloud Config。 Spring Cloud Config在官方文档中的表述:为分布式系
阅读全文
摘要:了解Spring Cloud Config的作用。 熟悉Config Server从本地仓库读取配置文件。 熟悉Config Server从远程仓库git读取配置文件。 熟悉Spring Cloud Config使用RabbitMQ消息队列并结合Spring Cloud Bus实现配置的自动刷新。
阅读全文
摘要:上一节我们带领读者使用Hystrix Dashboard 查看服务调用的监控信息,以此来查看某些服务的健康状态。 但是我们只查看了goods服务被调用的健康状态,而在一个复杂的分布式系统中,相同服务类型的节点可能有很多个,它们组成了一个集群。 如果想要同时监控集群中多个服务节点的健康指标信息,就需要
阅读全文
摘要:在上一节中我们对Hystrix实现服务熔断和降级进行了原理分析,在其解释中提到了Hystrix命令执行会根据其健康指标来决定是否熔断,这些健康指标除了可以让Hystrix自己决定熔断外,我们也能够实时地查看,这对于系统的运维也非常有帮助。那么我们怎样才能查看Hystrix的健康指标呢?其实Hystr
阅读全文
摘要:通过上面两节我们了解了Hystrix的基本使用,下面我们将通过Hystrix官方的工作流程(如图所示)来解析Hystrix是怎样实现服务熔断】 图中执行的步骤如下: ① 创建一个HystrixCommand或者HystrixObservableCommand对象。 先通过调用HystrixComma
阅读全文
摘要:Feign本身就整合了Hystrix,所以它自带熔断和降级功能,只不过默认熔断功能是关闭的,需要我们自己去开启。 所以我们只需要在Hystrix服务项目上添加Feign服务访问方式即可实现熔断和降级。 开发步骤如下: ① 在application.yml中开启Feign的熔断功能,如程序清单13-8
阅读全文
摘要:当我们进行服务调用的时候使用的是RestTemplate方式,那么在服务调用的时候进行服务熔断就需要结合Ribbon来使用,并且当服务出现故障的时候服务调用者也需要知道并做出相应的处理,比如进行服务降级。 下面我们就结合Ribbon来实现服务的熔断和降级处理。 开发步骤如下: ① 我们使用IDEA创
阅读全文
摘要:Hystrix翻译成汉语有海参、豪猪和猬草的意思,它们的特征是身上长有棘刺,主要是起到保护的作用,这也彰显了Hystrix在微服务中的作用。 Hystrix是由Netflix公司开源的一个延迟和容错库,它通过隔离远程系统、服务或者第三方库之间的访问,防止级联失败并提供回退选项,从而提升系统的可用性、
阅读全文
摘要:在微服务架构系统中通常会有多个服务,在服务调用中如果出现基础服务故障,可能会导致级联故障,即一个服务不可用,可能导致所有调用它或间接调用它的服务都不可用,进而造成整个系统不可用的情况,这种现象也被称为服务雪崩效应。 服务雪崩效应是一种因“服务提供者不可用”(原因)导致“服务调用者不可用”(结果),并
阅读全文
摘要:了解服务雪崩效应产生的原因和应对的策略。 熟悉Hystrix的使用及其工作原理。 熟悉如何在Feign中使用Hystrix进行服务降级。 熟悉Hystrix Dashboard和Turbine的使用。 在微服务架构系统中,可能被拆分出很多的服务,如电商项目中的订单服务、商品服务、库存服务等,这些服务
阅读全文
摘要:Ribbon策略测试 在第2节中我们进行Ribbon第一个实例的时候就发现了Ribbon从服务清单里面调用服务默认是通过轮询的方式,接下来我们将通过修改一些配置来体验其他的负载均衡策略。 首先,我们需要在订单服务的application.yml文件中配置其他的负载均衡策略,如程序清单12-8所示。
阅读全文
摘要:通过上一节解析Ribbon原理我们知道,在BaseLoadBalancer中通过IRule接口定义了很多的负载均衡策略,所以我们可以通过查看IRule的接口类实现关系来看一下Ribbon有哪些负载均衡策略,如图所示。 IRule接口的直接子类是AbstractLoadBalancerRule,但是它
阅读全文
摘要:之前我们在使用RestTemplate进行服务交互的时候,在其注入的bean上添加了@LoadBalanced注解,这样它就默认是使用Ribbon进行负载均衡处理。 但是RestTemplate是Spring提供的,Bean跟Ribbon客户端负载均衡又有什么关系呢? 下面我们就来深入地研究Ribb
阅读全文
摘要:Ribbon是Netflix公司提供的一个在Spring Cloud中免费使用的客户端负载均衡器组件。 它在集群中为各个客户端之间的通信提供支持,可以控制、管理HTTP和TCP客户端的负载均衡。 Ribbon从Eureka注册获取访问服务提供者地址列表后,就可基于某种负载均衡算法,自动地帮助服务消费
阅读全文
摘要:负载均衡(Load Balance)是实现系统高可用、缓解网络压力以及处理能力扩容的重要手段之一,负载均衡可以帮我们把一些网络请求的压力“均衡”到所有的服务器进行处理。 当然,因为多台服务器的承载能力各不相同,有的硬件配置高而有的硬件配置低,有的网络带宽高而有的网络带宽低,所以负载均衡是在保证服务器
阅读全文
摘要:Zuul限流是通过引入spring-cloud-zuul-ratelimit依赖实现的。它提供了下面几种限流类型。 (1)用户(USER),根据认证用户或匿名用户限流。 (2)客户端IP地址(ORIGIN),根据客户端IP地址限流。 ( 3)请求路径(URL),根据请求URL限流。 (4)根据服务限
阅读全文
摘要:Zuul可以实现对所有发往后端微服务请求的过滤和拦截。Zuul主要有4种类型的过滤器。 (1)pre:预过滤器,在路由分发请求前调用。 (2)post:后过滤器,在路由分发请求后调用。 (3)route:路由过滤器,用于路由请求分发。 (4)error:错误过滤器,在处理请求发生错误时调用。 怎样使
阅读全文
摘要:我们现在搭建一个Zuul网关,实现在第9章创建的商品和订单两个微服务的接口通过网关统一访问。同样,先创建一个Spring Boot项目,命名为zuul,如图所示。 然后,在“Dependencies”界面中勾选“Spring Cloud Routing”中的“Zuul [Maintenance]”;
阅读全文
摘要:Zuul是Netflix公司提供的微服务网关,它可以和Eureka、Ribbon、Hystrix等组件配合使用,实现认证和安全、性能监测、动态路由、负载均衡、压力测试、静态资源处理等功能。 Gateway是Spring官方基于Spring 5.0、Spring Boot 2.0和Project Re
阅读全文
摘要:网关指的是一个网络连接到另一个网络的“关口”。在Internet里,网关是一种连接内部网与Internet上其他网络的中间设备,通俗来说,也叫作“路由器”。 网关地址是能够理解成内部网与Internet信息传输的一种通道的地址。 根据不一样的分类准则,网关也有非常多的种类,在TCP/IP(Trans
阅读全文
摘要:Spring Cloud中,除了可以使用Eureka作为注册中心外,还可以通过配置的方式使用Zookeeper作为注册中心。 ZooKeeper是Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。 在分布式领域有一个很著名的CAP理论:一致性(C
阅读全文
摘要:Eureka负责服务治理,是微服务架构的核心基础,所以它的重要性不言而喻。 默认情况下,只要知道地址和端口,就能访问和查看所有微服务的状态以及一些监控信息,缺乏一定的安全性。 Eureka的安全认证可以通过设置用户名和密码来确保对Eureka的面板信息进行安全的访问,此时客户端只能通过安全认证方式进
阅读全文
摘要:Eureka REST API是指通过指定的URL来查询或操纵注册到Eureka Server的Eureka Client。 Netflix官方在GitHub的Wiki上专门写了一篇文章“Eureka REST operations”来介绍Eureka REST API,具体内容如表所示。 其中,实
阅读全文