序不知不觉一年又要过去了,又到了写总结的时候了。盘点整体而言,今年技术层面稍微有点拓宽,跨入了外表看上去高大上的流式计算领域,打开了另外一扇窗;而基于java的分布式/微服务领域,今年变化比较大,spring cloud netflix的部分组件宣布将要进入维护阶段,而国内spring cloud alibaba组件逐渐活跃起来,目前看来处于PublicEvolving阶段;而java自身也处在不断进化中,今年发布了java10及java11,明年java12也要来了,版本变化非常快。稍不留神就跟不上技术更迭了。今年不知道为什么没有什么想说的了,感觉整体而言自己表现非常一般,有点老气沉沉的感觉,可能是失去了年轻时候的激情,面对现实开始接受自己的平庸。展望面对纷繁复杂的技术,觉得技术真是无止境,有时候觉得自己真的很忙,时间真的不够用;但是面对生活,有时候又觉得人毕竟也是要生活的,是为技术而生活,还是为生活而技术,是一个值得思考的问题。今年定的几个目标基本也没有实现,明年就不再定具体的目标了,大的几个方向就是深入研究流式计算及系统架构,同时也希望自己脚踏实地的同时多仰望星空,多感受人文的世界。文章导航arch演进式架构聊聊系统设计中的trade-off聊聊rest api设计case记一次spring schedule异常记一个nginx host not found异常Flux OOM实例频繁GC (Allocation Failure)及young gc时间过长分析频繁产生对象造成gc时间过长案例分析No thread-bound request found异常nginxnginx http模块配置参数解读nginx proxy cache配置参数解读nginx gzip配置参数解读nginx limit配置参数解读nginx rewrite配置解读nginx lua api解读nginx的port_in_redirect配置openresty下lua的function定义及调用nlp使用opennlp自定义命名实体NLP系统体系结构及主要流程朴素贝叶斯算法文本分类原理使用stanford nlp进行依存句法分析使用opennlp进行词性标注使用opennlp进行文档分类使用opennlp进行依存句法分析Jena ARQ小试牛刀javajvm排查工具箱jvm-toolsjava8 parallelStream性能测试使用openjdk9-alpine运行springboot2使用maven构建java9 service实例java9迁移注意事项java9 opens与exports的区别java9 module相关选项解析java9 gc log参数迁移java9系列(三)模块系统精要java9系列(四)Process API更新java9系列(五)Stack-Walking APIjava9系列(六)HTTP/2 Client (Incubator)java9系列(七)Variable Handlesjava9系列(八)Multi-Release JAR Filesjava9系列(九)Make G1 the Default Garbage Collector聊聊java9的classloaderjava9+springboot2+undertow2启用http2及server pushJava9的新特性java10系列(一)Time-Based Release Versioningjava10系列(二)Local-Variable Type InferenceJava10的新特性java10下编译lombok注解的代码聊聊新版JDK对docker容器的支持JDK 10.0.1发布JDK11的ZGC小试牛刀Java11的新特性Java Flight Recorder小试牛刀Java11 HttpClient小试牛刀聊聊jdk http的HeaderFilter聊聊jdk httpclient的executor聊聊jdk httpclient的retry参数聊聊jdk httpclient的connect timeout异常聊聊jdk httpclient的ConnectionPool使用proguard混淆springboot代码使用proguard混淆java9代码命令行一键切换java版本的几种方式easy-rules小试牛刀使用kotlin改善java代码jib打包docker镜像实战jib自定义entrypointjmxtrans+influxdb+grafana监控zookeeper实战聊聊ExecutorService的监控spring boot/cloud聊聊springboot2的micrometer聊聊springboot的HeapDumpWebEndpoint聊聊springboot2的MappingsEndpoint聊聊springboot2的LoggersEndpointspringboot2增加diskspace指标聊聊springboot2的ScheduledTasksEndpoint聊聊springboot2的httptracespringboot2自定义HttpTraceRepository聊聊springboot2的embeded container的配置改动springboot2自定义statsd指标前缀springboot2上报metrics到statsdspringboot2输出metrics到influxdb聊聊springboot1.x及2.x的JvmGcMetrics的区别聊聊JvmGcMetrics的managementExtensionsPresent聊聊micrometer的HistogramGaugesmicrometer自定义metricsspring-boot-admin 2.0小试牛刀chaos-monkey-spring-boot小试牛刀dubbo-spring-boot-starter小试牛刀springboot整合vue小试牛刀聊聊servicecomb-saga的alpha-server聊聊Spring Data Auditable接口的变化spring security reactive获取security context聊聊springcloud的featuresEndpointspring cloud eureka聊聊springcloud的serviceRegistryEndpoint聊聊springcloud的EurekaClientAutoConfiguration聊聊netflix的EurekaHttpClient聊聊eureka client的shutdown聊聊spring cloud eureka的instanceEnabledOnit属性聊聊Eureka Server的REST API聊聊eureka server的instance注册及元数据变更接口聊聊eureka client的HeartbeatThread聊聊eureka client的serviceUrl聊聊spring cloud的DefaultEurekaServerContext聊聊spring cloud的EurekaServerInitializerConfiguration聊聊eureka的PeerAwareInstanceRegistryImpl聊聊eureka的TaskDispatcher聊聊eureka的renewal聊聊eureka instance的lastDirtyTimestamp聊聊eureka instance的overriddenstatus聊聊JerseyEurekaHttpClient的参数聊聊eureka的preferSameZoneEureka参数聊聊eureka的appname属性聊聊eureka的ZoneAffinityServerListFilter聊聊eureka client的backup-registry-impl属性聊聊eureka server的RemoteRegionRegistry聊聊eureka client的fetch-remote-regions-registry属性聊聊eureka的delta配置聊聊eureka server的response cache聊聊EurekaHealthCheckHandlerspring cloud gatewayspring cloud gateway的stripPrefix配置聊聊springcloud的GatewayControllerEndpoint聊聊spring cloud gateway的RemoveHopByHopHeadersFilter聊聊spring cloud gateway的XForwardedHeadersFilter聊聊spring.cloud.gateway.default-filters聊聊spring cloud gateway的ForwardedHeadersFilter聊聊spring cloud gateway的NettyConfiguration聊聊spring cloud gateway的SecureHeadersGatewayFilter聊聊spring cloud的DiscoveryClientRouteDefinitionLocator聊聊spring cloud gateway的RouteLocator聊聊spring cloud gateway的streaming-media-types属性聊聊spring cloud gateway的GlobalFilter聊聊spring cloud gateway的GatewayFilterspring cloud gateway集成hystrix实战聊聊spring cloud gateway的PrefixPath及StripPrefix功能聊聊spring cloud gateway的RedirectToGatewayFilter聊聊spring cloud gateway的PreserveHostHeaderGatewayFilter聊聊spring cloud gateway的SetStatusGatewayFilter聊聊spring cloud的RequestHeaderToRequestUriGatewayFilter聊聊spring cloud的RequestRateLimiterGatewayFilter聊聊spring cloud gateway的RetryGatewayFilter聊聊spring cloud gateway的LoadBalancerClientFilter聊聊spring cloud gateway的RedisRateLimiterhystrix聊聊spring cloud netflix的HystrixCommands聊聊spring cloud的HystrixAutoConfiguration聊聊spring cloud的HystrixCircuitBreakerConfiguration聊聊HystrixThreadPool聊聊hystrix的timeout处理聊聊HystrixCircuitBreaker聊聊HystrixPlugins聊聊HystrixEventNotifier聊聊HystrixConcurrencyStrategy聊聊HystrixMetricsPublisher聊聊HystrixPropertiesStrategy聊聊HystrixCommandExecutionHook聊聊hystrix的queueSizeRejectionThreshold参数聊聊HystrixEventStream聊聊hystrix的BucketedCounterStream聊聊hystrix的execution.isolation.semaphore.maxConcurrentRequests属性聊聊hystrix的fallbackresilience4jresilience4j小试牛刀聊聊resilience4j的CircuitBreakerConfig聊聊resilience4j的CircuitBreaker聊聊resilience4j的CircuitBreakerStateMachine聊聊resilience4j的bulkhead聊聊resilience4j的Retry聊聊resilience4j的fallbackspring cloud locadbalancer聊聊spring cloud的LoadBalancerAutoConfiguration聊聊spring cloud的AsyncLoadBalancerAutoConfiguration聊聊spring cloud的AbstractLoadBalancingClient聊聊ribbon的retry聊聊ribbon的超时时间设置聊聊EurekaRibbonClientConfiguration聊聊RibbonLoadBalancerClient的choose方法聊聊WebClient的LoadBalance支持redis聊聊spring-boot-starter-data-redis的配置变更redis的bitset实战redis的HyperLogLog实战redis的GEO实战RedisTemplate读取slowlog聊聊redis的HealthIndicator聊聊lettuce的指标监控redis的sentinel模式故障演练聊聊lettuce的sentinel连接聊聊spring-data-redis的连接池的校验聊聊redisTemplate对lettuce的封装聊聊lettuce的shareNativeConnection参数聊聊LettucePoolingConnectionProvider聊聊redis的slowlog与latency monitor聊聊redis的事务操作聊聊redis的数据结构的应用聊聊redisson的分布式锁聊聊redisson的DelayedQueue聊聊redis的监控工具聊聊redisson的RMap的computeIfAbsent操作mongo使用mongo shell远程连接数据库mqOpenMessaging概览聊聊openmessaging-java聊聊openmessaging的MessagingAccessPointopen-messaging使用实例聊聊AbstractOMSProducer聊聊rocketmq的ProducerImpl聊聊rocketmq的SequenceProducerImpl聊聊rocketmq的PullConsumerImpl聊聊rocketmq的PushConsumerImpl聊聊rocketmq的KVConfigManager聊聊rocketmq的BrokerHousekeepingService聊聊rocketmq的NettyClientConfig聊聊rocketmq的RequestTask聊聊rocketmq的NettyEncoder及NettyDecoder聊聊rocketmq的RemotingException聊聊rocketmq的FileAppender聊聊rocketmq的RollingFileAppender聊聊rocketmq的DailyRollingFileAppender聊聊rocketmq的AsyncAppendersentinelalibaba限流组件Sentinel实战聊聊sentinel的SimpleHttpCommandCenter聊聊sentinel的SentinelWebAutoConfiguration聊聊sentinel的ModifyRulesCommandHandler聊聊sentinel的DataSource聊聊sentinel的SentinelResourceAspectsentinel自定义DataSource实战聊聊sentinel的NettyHttpCommandCenter聊聊sentinel的ArrayMetric聊聊sentinel的DefaultSlotsChainBuilder聊聊sentinel的StatisticSlot聊聊sentinel的AuthoritySlot聊聊sentinel的DegradeSlot聊聊sentinel的FlowSlot聊聊sentinel的SystemSlot聊聊token bucket算法的实现聊聊leaky bucket算法的实现聊聊Guava的RateLimiterbucket4j使用实例bucket4j-spring-boot-starter小试牛刀reactivereactive streams与观察者模式聊聊reactive streams的Mono及Flux聊聊reactive streams publisher的doOn方法聊聊reactive streams的backpressure聊聊reactive streams的schedulers聊聊reactive streams的parallel flux聊聊reactive streams的processors聊聊reactive streams的tranform操作使用SseEmitter不断向网页输出结果spring 5 webclient使用指南spring webflux文件上传下载spring webflux返回application/stream+jsonreactor3 flux的map与flatMap的区别聊聊reactor extra的retry使用webflux提升数据导出效率spring 5 webflux异常处理webclient的超时时间配置FluxInterval实例及解析FluxSink实例及解析webclient对reactor-netty的封装reactor-netty中HttpClient对TcpClient的封装reactor-netty中TcpClient的create过程reactor-netty中TcpClient的newHandler过程reactor-netty的TcpClient如何往eventLoop提交task聊聊webflux参数校验聊聊reactor异步线程的变量传递聊聊reactor-netty的PoolResources的两种模式聊聊NettyConnector的start及shutdown聊聊Flux的compose与flatMap操作聊聊FluxFlatMap的concurrency及prefetch参数reactor-kafka小试牛刀reactor-rabbitmq小试牛刀jdbc聊聊jdbc socketTimeout的设置聊聊jdbc statement的fetchSize聊聊pg jdbc的queryTimeout及next方法聊聊mysql jdbc的queryTimeout及next方法聊聊pg jdbc statement的maxRows参数聊聊tomcat jdbc pool的默认参数及poolSweeper聊聊jdbc的batch操作聊聊jpa的batch操作的实现聊聊jdbc的大数据量读写相关异常的防御措施聊聊spring boot tomcat jdbc pool的属性绑定springboot2的hikari数据库连接池默认配置聊聊hikari连接池的isAllowPoolSuspension聊聊hikari连接池的validationTimeout聊聊hikari连接池的leakDetectionThreshold聊聊hikari连接池的maxLifetime属性及evict操作聊聊hikari与tomcat jdbc pool的fail fast聊聊hikari连接池的idleTimeout及minimumIdle属性聊聊hikari连接池的fixed pool design使用RSQL实现端到端的动态查询聊聊jpa的动态查询storm聊聊storm的submitTopology聊聊storm client的nimbus.seeds参数聊聊storm nimbus的LeaderElector聊聊curator recipes的LeaderLatch聊聊storm supervisor的启动聊聊storm worker的executor与task聊聊storm的GraphiteStormReporter聊聊storm nimbus的mkAssignments聊聊storm的AssignmentDistributionService聊聊storm的PartialKeyGrouping聊聊storm的CustomStreamGrouping聊聊storm的direct grouping聊聊storm的tickTuple聊聊storm的ack机制storm drpc实例聊聊storm的reportError聊聊storm的WindowedBolt聊聊storm的WindowedBoltExecutor聊聊storm的JoinBolt聊聊storm的stream的分流与合并聊聊storm的LinearDRPCTopologyBuilder聊聊storm的IWaitStrategy聊聊storm的maxSpoutPending聊聊storm的messageTimeout聊聊storm client的netty buffer watermark聊聊storm的CheckpointSpout聊聊storm trident的state聊聊storm trident的operations聊聊storm的IEventLogger聊聊storm的LoggingMetricsConsumer聊聊storm的LoggingClusterMetricsConsumer聊聊storm tuple的序列化聊聊storm TridentTopology的构建聊聊storm trident的coordinator聊聊storm-kafka-client的ProcessingGuarantee聊聊storm的window trigger聊聊storm TridentWindowManager的pendingTriggers聊聊storm WindowTridentProcessor的FreshCollector聊聊storm的AggregateProcessor的execute及finishBatch方法聊聊storm TridentBoltExecutor的finishBatch方法聊聊storm trident batch的分流与聚合聊聊storm trident spout的_maxTransactionActive聊聊storm的ICommitterTridentSpout聊聊storm的OpaquePartitionedTridentSpoutExecutorflink聊聊flink LocalEnvironment的execute方法聊聊flink的log.file配置聊聊flink如何兼容StormTopology聊聊flink的SpoutWrapper聊聊flink的BoltWrapper聊聊flink的CsvReader聊聊flink的SourceFunction聊聊flink的RichParallelSourceFunction聊聊flink的InputFormatSourceFunction聊聊flink的ParallelIteratorInputFormat聊聊flink的PrintSinkFunction聊聊flink的SocketClientSink聊聊flink的TextOutputFormat聊聊flink的JDBCOutputFormat聊聊flink的CheckpointedFunction聊聊flink的ListCheckpointed聊聊flink的CheckpointScheduler聊聊flink StreamOperator的initializeState方法聊聊flink的checkpoint配置聊聊flink的MemoryStateBackend聊聊flink的OperatorStateBackend聊聊flink的PartitionableListState聊聊flink的MemoryBackendCheckpointStorage聊聊flink的MemCheckpointStreamFactory聊聊flink的FsStateBackend聊聊flink的FsCheckpointStorage聊聊flink的FsCheckpointStreamFactory聊聊flink的TimeCharacteristic聊聊flink的EventTime聊聊flink的AscendingTimestampExtractor聊聊flink的BoundedOutOfOrdernessTimestampExtractor聊聊flink的Managed Keyed State聊聊flink的StateDescriptor聊聊flink的StateTtlConfig聊聊flink的AbstractTtlState聊聊flink的Broadcast State聊聊flink的Queryable State聊聊flink KeyedStream的KeySelector聊聊flink KeyedStream的reduce操作聊聊flink KeyedStream的aggregation操作doc2017年终总结2016年终总结过去的2015年