git 学习手册

Git 是 Linux 发明 者 Linus 开发的一款新时代的版本控制系统。 首先,模式不同。SVN是集中式版本控制系统,GIT是分布式版本控制系统; 其次,传输方式不同。Git把内容按元数据方式存储,而SVN是按文件,所以Git传输速度更快。 ​ svn无网络时就没法用了。而git无网络时只是不能和别的机器上的仓库交互而已。说git有中央服务器的,那其实是管理上视为中央服务器,其实那个仓库和你个人电脑上的仓库的地位在技术上是平等的,只是管理因素设置的不平等而已。     继续阅读
MagicDo's avatar
MagicDo 10月 27, 2019

微服务基础介绍

单体结构的一些缺点     继续阅读
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