SIP协议简介
Sip协议的全称是会话初始协议(Session Initiation Protocol),用于控制发起、修改、终结交互式多媒体会话的信令协议。在现在的通信领域,越来越多的电信供应商都在提供基于Sip协议的服务,比如市话、长途电话、即时消息、语音消息、多媒体会议等。
在传统的电话呼叫场景中,供应商使用的是模拟信号,通信的两端都是电话话机,使用Sip协议之后,所有的数据都是使用数据包的形式在互联网上传输,通信的两端不再是传统的话机,而是软件电话(简称软电话)。
SIP协议交互过程了解Sip协议交互过程之前,我们先来看看打电话的场景,假设A给B打电话,他们之间的交互一般是这样的:
A给B拨号,邀请B接听电话;
B的手机响铃,A同时可以听到响铃;
B接听电话;
A和B之间可以相互通话;
B(或者A)挂断电话,通话结束;
Sip协议的交互过程和上图所示的过程基本一致,但是在协议层面还是多了两步:
在B接听电话的时候,会给A发送一个OK消息,A收到OK之后,会回复一个ACK给B,然后A和B才开始通话;
在B挂断电话的时候,会给A发送一个BYE消息,A收到BYE消息之后,会回复一个OK给B, ...
Feign中传参使用的注解
今天遇到一个需求,需要异步导出一些数据到文件中,因为导出的数据量比较大,所以接收到导出请求之后,就将需要导出的数据的ID写入了MQ中,消费端接收到MQ的消息之后,然后通过Feign调用其他的服务进行数据导出。
通过Feign调用的代码如下:
12345678@FeignClient(name = ConstantsUtil.ORDER_SERVICE)public interface OrderService { @Headers({"feign: true"}) @PostMapping(value = "/orders/save") void save(@RequestParam("json") String json);}
开发的过程中,数据量比较少,通过此方法可以正常的完成调用,但是在测试环境,当数据量(json)稍微大一点之后,服务就无法调用了,直接报错了。
通过查询日志发现,Feign调用时,请求的地址居然是http://order.servic ...
UML类图图例
UML类图主要描述的是两个类之间的关系,其中的关系由强到弱可以如下排序:组合>聚合>关联>依赖。 画图时按以下原则把握基本就不会画错: 实线关系一定强于虚线关系。 实心关系一定强于空心关系。 描述整体与部分关系一定要使用菱形图例。
继承与实现继承关系用实线空心箭头表示 实现关系用虚线空心箭头表示
依赖和关联依赖和关联都是描述了类与类之间的关系,依赖的关系相对而言弱一些,关联的关系相对而言强一些。 比如A类依赖B类,B类是A类某个方法中的一个参数,A类可以脱离B类单独存在,这种关系就比较弱。 如果A类关联B类,B类就是A类的一个属性,A类是不能脱离B类单独存在的,这种关系就比较强。 关联关系用实线单箭头表示 依赖关系用虚线单箭头表示
聚合和组合聚合和组合关系都是描述的整体与部分的关系,但是这其中还是有很大区别的。 聚合关系:个体可以脱离本体而独立存在。比如雁群和大雁就是聚合关系。 组合关系:整体可以控制个体的生命周期,即个体不能脱离整体而独立存在。比如鸟和翅膀就是组合关系。 聚合关系:用空心菱形+实线+单箭头表示 组合关系:用实心菱形+实线+单箭头表示
Hadoop集群搭建
环境信息:
192.168.1.200 hadoop000 (NN,DN,RM,NM,HIVE)
192.168.1.201 hadoop001 (DN)
192.168.1.202 hadoop002 (DN)
192.168.1.109 mysql000 (Hive使用的数据库)
准备工作修改hostnameCentOS修改hostname hostnamectl set-hostname xxx
修改hosts切换root用户,将三个节点的信息配置到/etc/hosts中 特别注意:
需要给本机也配置一个别名,比如上图是hadoop000机器,他的IP为200
localhost的配置一定要放在最后,这点特别要注意,否则可能造成无法连接的异常。
配置免密登录namenode:免密登录所有datanode datanode:免密登录自己
12ssh-keygen -t RSAssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@localhost
测试: ssh hadoop@localhost 登录成功则说明配置成功。
集群搭建为了保证配置的 ...
Portainer集群管理
环境准备
已经安装好了docker环境
docker安装完成之后,最好安装加速器,执行curl -sSL https://get.daocloud.io/daotools/set_mirror.sh sh -s http://f1361db2.m.daocloud.io 如果daocloud的镜像也慢的话,可以尝试一下更换其他的镜像地址: 网易: http://hub-mirror.c.163.com 中科大: https://docker.mirrors.ustc.edu.cn 修改/etc/docker/daemon.json即可。
已经下载了portainer镜像
docker pull portainer/portainer 特别说明:docker早期版本的配置差异还是比较大的,本次实验的docker版本信息如下:
Docker集群搭建192.168.1.109 manger 192.168.1.110 worker
Manager节点
初始化swarm集群
docker swarm init
开放2375端口
修改/lib/systemd/system/doc ...