摘要: 架构图: 问题: 从Freeswitch发出的INVITE消息里,只有PCMA和PCUM编码,想在RTP引擎和WebRTC的话机之间使用OPUS编码(OPUS编码对丢包的容忍度更高,WebRTC话机跑在外网用户的电脑上,需要启用OPUS) 配置方法: 在OpenSIP的RTP引擎配置参数里进行转码: 阅读全文
posted @ 2021-11-28 11:50 梦中彩虹 阅读(368) 评论(0) 推荐(0) 编辑
摘要: opensips路由类型总结 阅读全文
posted @ 2020-03-21 23:34 梦中彩虹 阅读(2123) 评论(0) 推荐(0) 编辑
摘要: 使用ReentrantLock和Condition来代替内置锁和wait(),notify(),notifyAll() 阅读全文
posted @ 2019-04-12 23:18 梦中彩虹 阅读(2888) 评论(0) 推荐(0) 编辑
摘要: LinkedHashMap来实现Lru缓存的原理 阅读全文
posted @ 2019-03-26 22:50 梦中彩虹 阅读(4096) 评论(0) 推荐(2) 编辑
摘要: Java的线程对象是存储在堆上的,所以,能够创建多少个线程,受到堆空间的大小限制,同时也受到每个线程的大小的限制,假如线程对象内部有一个非常大的数组字段,那就非常影响能够创建的线程的大小 我们的例子: class Task implements Runnable { //5M堆内存 128k的情况下 阅读全文
posted @ 2019-02-01 12:50 梦中彩虹 阅读(2713) 评论(0) 推荐(1) 编辑
摘要: 我们有个定时任务会每天去请求一下别人提供的webservice来拿到今天签署的合同的数据,某天早上巡检服务器的时候,发现定时任务没有执行,通过dump线程的状态,发现执行这个定时任务的线程被阻塞住了 阻塞的原因是读操作的超时时间没有设置,默认值是 1 导致了客户端一直等待,然后程序一直阻塞 解决的方 阅读全文
posted @ 2019-01-28 11:02 梦中彩虹 阅读(920) 评论(0) 推荐(1) 编辑
摘要: 粘包和拆包是什么? TCP协议是一种字节流协议,没有记录边界,我们在接收消息的时候,不能人为接收到的数据包就是一个整包消息 当客户端向服务器端发送多个消息数据的时候,TCP协议可能将多个消息数据合并成一个数据包进行发送,这就是粘包 当客户端向服务器端发送的消息过大的时候,tcp协议可能将一个数据包拆 阅读全文
posted @ 2019-01-27 13:02 梦中彩虹 阅读(1981) 评论(0) 推荐(0) 编辑
摘要: swagger的三个项目及其作用 我们打开swagger的官网,会发现有三个swagger相关的项目,它们分别是 1. swagger editor 作用是通过写代码,生成文档描述(一个json文件或其他格式的api元数据文件) 2. swagger ui 通过请求文档描述(一个json文件)的数据 阅读全文
posted @ 2018-11-25 18:50 梦中彩虹 阅读(12121) 评论(0) 推荐(1) 编辑
摘要: 背景: 应用的部署结构是这样的:使用rancher管理的Docker集群,有三台物理主机,二十多个Docker容器, 提供的功能是问题跟踪(JIRA),文档管理(Confluence),代码托管(svn,gitlab),持续集成(jenkins,gitlab ci + Docker),代码质量管理( 阅读全文
posted @ 2018-11-17 08:44 梦中彩虹 阅读(2774) 评论(0) 推荐(0) 编辑
摘要: jvm.option是一些程序里边的java的配置参数的一个集合,不同的应用都会定义自己的jvm.options用来控制一些jvm的参数 以下,以elasticsearch为例,来说明它是如何加载的 elasticsearch的jvm.options的文件内容如下: JVM configuratio 阅读全文
posted @ 2018-11-14 10:27 梦中彩虹 阅读(6499) 评论(0) 推荐(0) 编辑