2018年终总结

不知不觉一年又要过去了,又到了写总结的时候了。

盘点

整体而言,今年技术层面稍微有点拓宽,跨入了外表看上去高大上的流式计算领域,打开了另外一扇窗;而基于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异常

nginx

  • nginx 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小试牛刀

java

  • jvm排查工具箱jvm-tools
  • java8 parallelStream性能测试
  • 使用openjdk9-alpine运行springboot2
  • 使用maven构建java9 service实例
  • java9迁移注意事项
  • java9 opens与exports的区别
  • java9 module相关选项解析
  • java9 gc log参数迁移
  • java9系列(三)模块系统精要
  • java9系列(四)Process API更新
  • java9系列(五)Stack-Walking API
  • java9系列(六)HTTP/2 Client (Incubator)
  • java9系列(七)Variable Handles
  • java9系列(八)Multi-Release JAR Files
  • java9系列(九)Make G1 the Default Garbage Collector
  • 聊聊java9的classloader
  • java9+springboot2+undertow2启用http2及server push
  • Java9的新特性
  • java10系列(一)Time-Based Release Versioning
  • java10系列(二)Local-Variable Type Inference
  • Java10的新特性
  • 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自定义entrypoint
  • jmxtrans+influxdb+grafana监控zookeeper实战
  • 聊聊ExecutorService的监控

spring boot/cloud

  • 聊聊springboot2的micrometer
  • 聊聊springboot的HeapDumpWebEndpoint
  • 聊聊springboot2的MappingsEndpoint
  • 聊聊springboot2的LoggersEndpoint
  • springboot2增加diskspace指标
  • 聊聊springboot2的ScheduledTasksEndpoint
  • 聊聊springboot2的httptrace
  • springboot2自定义HttpTraceRepository
  • 聊聊springboot2的embeded container的配置改动
  • springboot2自定义statsd指标前缀
  • springboot2上报metrics到statsd
  • springboot2输出metrics到influxdb
  • 聊聊springboot1.x及2.x的JvmGcMetrics的区别
  • 聊聊JvmGcMetrics的managementExtensionsPresent
  • 聊聊micrometer的HistogramGauges
  • micrometer自定义metrics
  • spring-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的featuresEndpoint

spring 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
  • 聊聊EurekaHealthCheckHandler

spring cloud gateway

  • spring 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的GatewayFilter
  • spring 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的RedisRateLimiter

hystrix

  • 聊聊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的fallback

resilience4j

  • resilience4j小试牛刀
  • 聊聊resilience4j的CircuitBreakerConfig
  • 聊聊resilience4j的CircuitBreaker
  • 聊聊resilience4j的CircuitBreakerStateMachine
  • 聊聊resilience4j的bulkhead
  • 聊聊resilience4j的Retry
  • 聊聊resilience4j的fallback

spring 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远程连接数据库

mq

  • OpenMessaging概览
  • 聊聊openmessaging-java
  • 聊聊openmessaging的MessagingAccessPoint
  • open-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的AsyncAppender

sentinel

  • alibaba限流组件Sentinel实战
  • 聊聊sentinel的SimpleHttpCommandCenter
  • 聊聊sentinel的SentinelWebAutoConfiguration
  • 聊聊sentinel的ModifyRulesCommandHandler
  • 聊聊sentinel的DataSource
  • 聊聊sentinel的SentinelResourceAspect
  • sentinel自定义DataSource实战
  • 聊聊sentinel的NettyHttpCommandCenter
  • 聊聊sentinel的ArrayMetric
  • 聊聊sentinel的DefaultSlotsChainBuilder
  • 聊聊sentinel的StatisticSlot
  • 聊聊sentinel的AuthoritySlot
  • 聊聊sentinel的DegradeSlot
  • 聊聊sentinel的FlowSlot
  • 聊聊sentinel的SystemSlot
  • 聊聊token bucket算法的实现
  • 聊聊leaky bucket算法的实现
  • 聊聊Guava的RateLimiter
  • bucket4j使用实例
  • bucket4j-spring-boot-starter小试牛刀

reactive

  • reactive 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+json
  • reactor3 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的OpaquePartitionedTridentSpoutExecutor

flink

  • 聊聊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操作

doc

  • 2017年终总结
  • 2016年终总结
  • 过去的2015年

你可能感兴趣的:(运维,人工智能,数据库)