微服务基础介绍

单体结构的一些缺点     继续阅读
MagicDo's avatar
MagicDo 10月 15, 2019

docker 下 fastdfs 集群部署

拉取镜像1docker pull morunchang/fastdfs 安装 tracker创建 目录 1mkdir -p /apps/fastdfs/tracker1/data /apps/fastdfs/tracker1/conf     继续阅读
MagicDo's avatar
MagicDo 10月 15, 2019

feign 源码解析

feign 服务调用流程 首先通过@EnableFeignClients注解开启FeignCleint 根据Feign的规则实现接口,并加@FeignCleint注解 程序启动后,会进行包扫描,扫描所有的@ FeignCleint的注解的类,并将这些信息注入到ioc容器中。 当接口的方法被调用,通过jdk的代理,来生成具体的RequesTemplate RequesTemplate在生成Request Request交给Client去处理,其中Client可以是HttpUrlConnection、HttpClient也可以是Okhttp 最后Client被封装到LoadBalanceClient类,这个类结合类Ribbon做到了负载均衡。 我们用流程图来简单标示下服务调用的过程     继续阅读
MagicDo's avatar
MagicDo 10月 13, 2019

自己动手实现简单的微服务rpc调用

#### 什么是rpc(来自百度百科) RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。 RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。     继续阅读
MagicDo's avatar
MagicDo 10月 13, 2019