自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

时间道的博客

后端程序开发、架构,java、go、python、mysql、分布式等

  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 FFMpeg使用介绍

1. 介绍FFmpeg是一个跨平台的开源多媒体框架,可以用于处理和转换各种音视频格式。它提供了必要的工具和库来进行音视频的录制、转码、播放、流媒体传输等操作,还可以抓取实时的音频/视频流。FFmpeg 主要包括三块:FFmpeg、FFplay、FFprobe。</br>使用FFmpeg的常见应用和产品视频转码器:通过 FFmpeg,可以将视频文件从一个格式转换为另一个格式,例...

2023-10-10 20:33:10 67

原创 高性能框架Vert.x

目录vert.x是什么?为什么使用Vert.x框架?有哪些关键的特性和功能?是如何做到高性能的?高性能机制详解简单的开发事例如何使用vert.x进行优雅的异步开发?性能到底如何?生态及发展展望vert.x是什么?由Tim Fox于2011年创立,现由Eclipse开源组织维护,已经迭代到v4.4.1基于Netty开发,为开发人员提供了“一站式”的工程解决方案是一个非...

2023-06-12 17:12:04 1986

原创 SpringCloud使用总结

使用SpringCloud治理微服务是很方便的,demo级别的应用很容易实现,但是要在生产环境使用的话,需要熟悉其配置,避免采坑。配置1、使用okhttp代替默认的HttpClient,配置feign超时时间等`feign.okhttp.enabled=``true``#这是默认设置也可以针对具体的serviceid设置``feign.client.config.``default`...

2020-10-30 10:52:08 255

原创 thingsboard源码分析(三)-Actor模型

Actor模型在异步处理中使用广泛,尤其是scala语言中actor框架的使用。本篇主要介绍thingsboard中其自主实现的actor模型,及在数据传输中的使用。Actor模型简介Actor由状态(state)、行为(Behavior)和邮箱(mailBox)三部分组成状态:Actor中的状态指的是Actor对象的变量信息,状态由Actor自己管理,避免了并发环境下的锁和内存原子性等...

2020-09-22 16:50:23 3399

原创 使用python requests实现文件上传

后端 java 提供了文件上传接口,使用 python 的类库 requests 包调用接口上传图片等附件,直接看代码from urllib3 import encode_multipart_formdataimport requestshost = "http://*.*.*.*:80/"def upload(): url = "upload/public" ...

2019-12-10 17:34:56 344

原创 SpringBoot2 API文档自动生成

背景在 springboot 的大背景下,java 开发也相当顺当了,日常开发中,大都采用分层架构,后端研发要写很多文档,有时候会很麻烦。本文结合 swagger2 来自动生成文档。技术导入 swagger 依赖包:<!-- Swagger API文档 --> <dependency> <groupId&...

2019-11-11 16:15:54 243

原创 秒杀系统实现总结

秒杀系统面临的技术挑战:访问量大,对网络带宽要求高系统如何支持瞬间的高并发如何防止商品超卖如何防刷、防黄牛等解决方案:CDN缓存,nginx+lua实现活动数据缓存2秒高并发:限流、防刷超卖:使用redis实现原子性的操作防刷:openresty lua 实现限流、验证黑名单等黑名单机制:手动/自动收集ip、userid信...

2019-08-19 14:02:00 365

原创 抽奖系统实现总结

技术架构:java + redis + mysql系统定位*:作为承接前台老虎机等各种游戏功能,后台对接第三方各种奖项发放。作为抽奖和礼品包发放的统一入口系统功能:活动及活动规则维护,抽奖奖池维护问题点:如何保证公平性?如何让运营灵活控制活动?奖池生成算法:只要是和池子有关系的项目,都可以用这种方式防止奖品被超发:最大奖品数、没人最大...

2019-08-19 14:01:00 1145

原创 java自带的HttpURLConnection性能

java1.8 自带的HttpURLConnection 性能已经相当不错了。其底层是复用了 tcp 连接的。官方解释:每个HttpURLConnection实例用于单个请求,但是到HTTP服务器的底层网络连接可能被其他实例透明地共享。 在请求之后,在HttpURLConnection的InputStream或OutputStream上调用clos...

2019-08-16 18:02:00 3828

原创 java 日志打印规范

日志要求:重要日志一定要打印到日志文件日志文件应该每天滚动一次,日志多的可以每个小时滚动一次日期必须精确到毫秒,而不是秒确保日志是按事件顺序输出【推荐】最好能打印调用方信息,比如访问者ip等信息日志文件要可以方便使用grep语句查看日志文件归档:需要告知运维归档日志预警,通过ES实现对于无法预知的异常,一定要打印堆栈:LOGGER.er...

2019-08-16 11:43:00 7005

原创 成为Git使用高手

现在日常开发中都使用 git 作为源码管理工具,git 功能非常强大,但是对于研发不熟悉导致的问题也非常多,问题很多通常出现在使用 idea、eclipse 等开发工具操作 git 的时候,工程师还是需要对 git 的运行机制深入了解一下。本文主要叙述使用 git 命令来工作,熟练使用这些命令,足以应付日常开发了。git 介绍Git 是一套内容寻址文件系统,git本地保存快照和更新历史。对...

2019-08-16 11:06:00 247

原创 适合小团队的研发流程

研发组内角色分工开发经理/架构项目/系统负责人开发人员角色职责描述开发经理/架构负责系统的整体架构,资源整合,对系统方案进行评审,把握系统方向,监督研发质量,给开发人员提供支持项目/系统负责人每个系统原则上要求有两位负责人,固定系统由指定开发担当负责人,临时项目临时调配负责人,负责人要参与需求评审、方案设计、方案评审等工作,对系统...

2019-08-16 10:26:00 837

原创 iot 开源平台thingsboard使用总结

参考网址:https://thingsboard.io/docs/getting-started-guides/helloworld/github地址:https://github.com/thingsboard/thingsboard演示环境:https://demo.thingsboard.io/login。架构:https://thingsbo...

2019-07-24 19:31:00 8043

原创 spring cloud feign 使用的坑

背景项目采用 springcloud 架构,使用 feign 做接口调用,项目已经运行很长时间。最近刚发现服务重启后的一段时间访问很慢,有很多如下的日志:2019-07-02 18:26:06.406 INFO [http-nio-8080-exec-1] org.springframework.context.annotation.Annotat...

2019-07-03 20:19:00 525

原创 feign 使用

feign的 springboot 插件feign介绍Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API。Spring Cloud中对 feign 进行了封装,可以通过 springmvc 的注解来注解 http api的请求参数,使用上可以说非常的方便。Spring ...

2019-06-20 10:03:00 175

原创 seaweedfs使用总结

优势:存储小文件,占用空间小,性能比 fastDfs 好在逻辑上Seaweedfs的几个概念:Node 系统抽象的节点,抽象为DataCenter、Rack、DataNodeDataCenter 数据中心,对应现实中的不同机房Rack 机架,对应现实中的机柜Datanode 存储节点,用于管理、存储逻辑卷Volume 逻辑卷,存储...

2019-06-10 22:36:00 1898

原创 python使用跳板机访问数据库 mysql

python使用跳板机访问数据库 mysql安装python模块sshtunnelpip install sshtunnelpip install pymysql代码from sshtunnel import SSHTunnelForwarderimport pymysqlimport pymysql.cursorspymysql.in...

2019-05-31 09:55:00 424

原创 elasticsearch http 客户端 Jest 的使用

jest github 地址:https://github.com/searchbox-io/Jest引入 jar 包: <dependency> <groupId>io.searchbox</groupId> <artifactId>jest</artifac...

2019-05-20 14:47:00 536

原创 elasticsearch 基于 jest 的http客户端封装

目前 elasticsearch java 客户端中有两种使用方式,一种是使用TransportClient,一种是使用 http client。关于TransportClient,elastic计划在Elasticsearch 7.0中弃用TransportClient,并在8.0中完全删除它。后面,应该使用Java高级REST客户端,它执行HTTP...

2019-05-20 12:06:00 467

原创 SpringBoot 测试

相关注解概念@RunWith:When a class is annotated with @RunWith or extends a class annotated with @RunWith, JUnit will invoke the class it references to run the tests in that class inste...

2019-04-23 11:06:00 184

原创 failed to respond问题查找

问题描述zuul1.x使用过程中,偶尔会出现failed to respond的异常信息,对应的异常为httpclient 的 NoHttpResponseException。解决方案zuul作为client方连接nginx代理的服务,对应的设置为:zuul.host.max-per-route-connections=600zuul.host....

2018-12-25 17:40:00 18315

原创 垃圾回收G1总结

问题点线上tomcat监控发现有2s作用不响应请求,导致tomcat抛出504启动配置:java -server -Xms4g -Xmx4g -XX:+UseG1GC -XX:G1ReservePercent=25 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+DisableExplicitGC -XX:+ParallelRe...

2018-12-24 22:26:00 311

原创 zuul源码分析--filter机制

2018-12-06 18:17:00 133

原创 spring boot 编写starter插件

springboot提供了一个非常重要的功能--自动化配置。使用注解@ConditionalOnClass,@ConditionalOnProperty 可以非常方便的设置各种条件来达到自动加载的目的。利用这一特性,我们可以把平时通用的功能封装成springboot的starter 插件下面说一下编写 starter 插件具体的步骤。1、 pom...

2018-12-06 18:16:00 279

原创 Apache Shiro源码分析--1

源码分析

2018-12-06 18:15:00 89

原创 数据库连接池Hikaricp源码分析

hikaricp总结:借助哪些技术使性能超越其他线程池的?为了性能,自定义数据结构:FastList、ConcurrentBag主要就是ConcurrentBag使用threadLocal、shareList、等待queue 对获取connnection做了优化。定时器相关的使用:scheduleWithFixedDelay(Runnable com...

2018-12-06 18:14:00 517

原创 okhttp3的拦截器机制

okhttp3的拦截器机制为开发者提供了方便的功能定制,比如日志打印、拦截请求、拦截响应等等总共有两种拦截器:ApplicationInterceptor,NetworkInterceptor比如实现日志拦截代码:public class LoggingInterceptor implements Interceptor{ private ...

2018-11-26 22:52:00 263

原创 springcloud网关zuul1.x的超时配置

zuul的超时配置有两种:直接使用url配置路由,基于httpclient来发送请求使用ribbon的轮训机制,配置ribbon超时时间,也可以配置hystrix超时时间,两者取配置最小者直接使用url路由配置事例:# 适用于ApacheHttpClient,如果是okhttp无效。每个服务的http客户端连接池最大连接,默认是200.zuu...

2018-10-09 11:34:00 1020

bootstrap ace1.1+1.2

bootstrap ace1.1+1.2

2014-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除