微服务网关、进程、I/O等总结|青训营笔记

27 阅读2分钟

1、 微服务网关:

不是所有人都可以调用微服务,我们需要网关(Gateway)作为微服务的统一入口,它的功能包括身份认证、权限校验、服务路由、负载均衡和请求限流等。

image.png

网关的实现有两种:SpringCloudGateway和Zuul。后者是基于Servlet的实现,属于阻塞式编程。而前者则是基于Spring5中提供的WebFlux,属于响应式编程的实现,具备更好的性能。

网关搭建、编写断言、过滤器、解决跨域问题

2、 进程与内存、I/O与文件描述符:

每个进程对应一个标识符或PID,由内核完成。fork()为新进程提供与调用进程完全相同的内存内容(包括指令和数据)。它们也称为父进程和子进程。尽管子进程最初与父进程具有相同的内存内容,但父进程和子进程使用不同的内存空间和不同的寄存器执行。

exit()系统调用导致调用进程停止执行并释放内存和打开的文件等资源。exit()采用整数状态参数,通常0表示成功,1表示失败。

wait()系统调用返回当前进程退出(或杀死)子进程的 PID,并将子进程的退出状态复制到传递给 wait()的地址;如果调用者的孩子都没有退出,wait()等待其中一个退出。如果调用者没有孩子,wait() 立即返回-1。如果父母不关心孩子的退出状态,它可以传递一个0地址等待。

进程运行时若需要更多内存(例如malloc),可以调用 sbrk(n) 将其数据内存增加 n 字节;sbrk返回新内存的位置。

文件描述符是一个小整数,表示进程可以读取或写入的内核管理对象。fork()复制父进程的文件描述符表及其内存。exec()替换调用进程的内存但保留其文件表。文件描述符是一种强大的抽象,因为它们隐藏了它们所连接对象的细节:写入文件描述符的进程可能正在写入文件、控制台等设备或管道。

image.png