序
转眼之间2019年就要过去了,又是到了写总结的时候了。
盘点
去年定了要深入研究流式计算及系统架构,现在看来,流式计算只粗略看了点flink,系统架构方面貌似也没有太多的长进,文章也写的越来越像流水账了,感觉有点惭愧。
展望
新的一年在新技术方面要研究容器化,在基础方面也得巩固一下linux、network等,最后在架构领域方面也要有新的长进。
文章导航
flink
- 聊聊flink的window操作
- 聊聊flink的Tumbling Window
- 聊聊flink的Sliding Window
- 聊聊flink的Session Window
- 聊聊flink的Global Window
- 聊聊flink的Triggers
- 聊聊flink的Evictors
- 聊聊flink的Allowed Lateness
- 聊聊flink的consecutive windowed operations
- 聊聊flink DataStream的join操作
- 聊聊flink KeyedStream的intervalJoin操作
- 聊聊flink DataStream的window coGroup操作
- 聊聊flink DataStream的connect操作
- 聊聊flink DataStream的split操作
- 聊聊flink DataStream的iterate操作
- 聊聊flink的ProcessFunction
- 聊聊flink的TimerService
- 聊聊flink的InternalTimeServiceManager
- 聊聊flink的Async I/O
- 聊聊flink的AsyncWaitOperator
- 聊聊flink的Table API及SQL Programs
- 聊聊flink TableEnvironment的scan操作
- 聊聊flink Table的select操作
- 聊聊flink Table的where及filter操作
- 聊聊flink Table的groupBy操作
- 聊聊flink Table的Group Windows
- 聊聊flink Table的Over Windows
- 聊聊flink Table的Distinct Aggregation
- 聊聊flink Table的Joins
- 聊聊flink Table的Set Operations
- 聊聊flink Table的OrderBy及Limit
- 聊聊flink Table的Time Attributes
- 聊聊flink的JDBCAppendTableSink
- 聊聊flink Table Schema的定义
- 聊聊flink的Table Formats
- 聊聊flink的CsvTableSource
- 聊聊flink的CsvTableSink
- 聊聊flink的TableFactory
- 聊聊flink的TableFunction
- 聊聊flink Table的AggregateFunction
- 聊聊flink Table的ScalarFunction
- 聊聊flink的RestartStrategies
- 聊聊flink的Parallel Execution
- 聊聊flink的Execution Plan Visualization
- 聊聊flink的logback配置
- 聊聊flink的ParameterTool
- 聊聊flink JobManager的High Availability
- 聊聊flink的AbstractNonHaServices
- 聊聊flink JobManager的heap大小设置
- 聊聊flink TaskManager的memory大小设置
- 聊聊flink TaskManager的managed memory
- 聊聊flink的MemoryPool
- 聊聊flink的MemorySegment
- 聊聊flink taskmanager的jvm-exit-on-oom配置
- 聊聊flink的NetworkEnvironmentConfiguration
- 聊聊flink的NetworkBufferPool
- 聊聊flink的ConnectionManager
- 聊聊flink的BlobService
- 聊聊flink的BlobWriter
- 聊聊flink的BlobStoreService
- 聊聊flink的FileSystem
- 聊聊flink的BlobServer
- 聊聊flink的slot.request.timeout配置
- 聊聊flink的slot.idle.timeout配置
- 聊聊flink的DualKeyMap
- 聊聊flink的RestClientConfiguration
- 聊聊flink的RestClusterClientConfiguration
- 聊聊flink的jobstore配置
- 聊聊flink的HistoryServer
- 聊聊flink taskmanager的data.port与rpc.port
- 聊聊flink的RpcService
- 聊聊flink的ScheduledExecutor
- 聊聊flink的RpcServer
- 聊聊flink的FencedAkkaInvocationHandler
- 聊聊flink的ActorGateway
- 聊聊flink的MetricQueryServiceGateway
- 聊聊flink的JobManagerGateway
- 聊聊flink的KvStateRegistryGateway
- 聊聊flink jdbc的ParameterValuesProvider
Java
- Java12的新特性
- Java13的新特性
- JDK12 ShenandoahGC小试牛刀
- 聊聊ShenandoahGC的Brooks Pointers
- 聊聊Garbage Collector的SATB
- 聊聊GarbageCollectionNotificationInfo
- 聊聊HotSpot VM的Native Memory Tracking
- 聊聊openjdk的jvm.cfg文件
- 聊聊openjdk的jhsdb工具
- 聊聊jvm的-XX:MaxDirectMemorySize
- 聊聊openjdk的BufferPoolMXBean
- 聊聊jvm的Code Cache
- 聊聊jvm的CompressedClassSpace
- 聊聊jvm的Stack Memory
- 聊聊java String的intern
- 聊聊Java 9的Compact Strings
- 聊聊jvm的StringTable及SymbolTable
- 聊聊G1 GC的String Deduplication
reactor
- 聊聊netty的maxDirectMemory
- 聊聊netty的ResourceLeakDetector
- 聊聊reactor-netty的AccessLog
- 聊聊reactor-netty的AccessLogHandlerH2
- Swagger2 WebFlux小试牛刀
- rsocket-java小试牛刀
- 聊聊rsocket load balancer的Ewma
spring
- 聊聊spring data jpa的OpenSessionInView
- 聊聊spring data jpa的SimpleJpaRepository
- 聊聊spring data jpa的JpaQueryLookupStrategy
- 聊聊spring tx的EnableTransactionManagement
- 聊聊hibernate的session-level repeatable reads
- 聊聊sentinel的SentinelGatewayFilter
- 聊聊spring cloud netflix ribbon的eager load
- 聊聊spring boot的ErrorWebFluxAutoConfiguration
- 聊聊spring boot的WebFluxTagsProvider
- 聊聊spring cloud的FeignLoadBalancer
- 聊聊ribbon的ServerListSubsetFilter
- 聊聊spring cloud的RetryableFeignLoadBalancer
- 聊聊spring cloud的FeignClientBuilder
- 聊聊spring cloud的FeignClientFactoryBean
- 聊聊feign的RequestInterceptor
- 聊聊feign的Retryer
- 聊聊spring cloud openfeign的Targeter
- 聊聊feign的HystrixInvocationHandler
- 聊聊feign的Contract
- 聊聊spring cloud的CachingSpringLoadBalancerFactory
- 聊聊spring cloud的ConsulServiceRegistry
- 聊聊spring cloud consul的TtlScheduler
- 聊聊consul的NewService
- 聊聊spring cloud的ConsulServer
- 聊聊spring cloud的ConsulAutoConfiguration
- 聊聊spring cloud的ConsulCatalogWatch
- 聊聊spring cloud的consulRetryInterceptor
- 聊聊NacosDiscoveryClient
- 聊聊NacosRibbonClientConfiguration
- 聊聊DubboOpenFeignAutoConfiguration
- 聊聊SpringCloudRegistryFactory
- 聊聊ZookeeperDiscoveryAutoConfiguration
- 聊聊DependenciesBasedLoadBalancer
distributed
- 聊聊hazelcast的PhiAccrualFailureDetector
- 聊聊Cassandra的FailureDetector
- 聊聊SWIM Protocol
- 聊聊apache gossip的FailureDetector
- 聊聊apache gossip的ActiveGossiper
- 聊聊scalecube-cluster的FailureDetector
- 聊聊scalecube-cluster的GossipProtocol
- 聊聊scalecube-cluster的MembershipProtocol
- 聊聊CRDT
elasticsearch
- 聊聊elasticsearch的TransportProxyClient
- 聊聊springboot elasticsearch autoconfigure
- 聊聊springboot elasticsearch healthIndicator
- 聊聊springboot jest autoconfigure
- 聊聊jest的NodeChecker
- 聊聊jest的IdleConnectionReaper
- 聊聊elasticsearch的MembershipAction
- 聊聊elasticsearch的SeedHostsResolver
- 聊聊elasticsearch的SeedHostsProvider
- 聊聊elasticsearch的ZenPing
- 聊聊elasticsearch的PeerFinder
- 聊聊Election Algorithms
- 聊聊elasticsearch的NodesFaultDetection
- 聊聊elasticsearch的MasterFaultDetection
- 聊聊elasticsearch的ElectMasterService
- 聊聊elasticsearch的LagDetector
- 聊聊elasticsearch的RoutingService
- 聊聊Elasticsearch RestClient的NodeSelector
- 聊聊Elasticsearch RestClient的RequestLogger
- 聊聊Elasticsearch RestClient的DeadHostState
- 聊聊Elasticsearch的NodesSniffer
- 聊聊Elasticsearch的CircuitBreakerService
- 聊聊Elasticsearch的CircuitBreaker
- 聊聊Elasticsearch的ProcessProbe
- 聊聊Elasticsearch的OsProbe
- 聊聊elasticsearch的DeadlockAnalyzer
- 聊聊Elasticsearch的FsProbe
- 聊聊Elasticsearch的JvmStats
- 聊聊Elasticsearch的MonitorService
- 聊聊Elasticsearch的DiscoveryPlugin
- 聊聊Elasticsearch的BootstrapCheck
- 聊聊ElasticsearchUncaughtExceptionHandler
- 聊聊Elasticsearch的TaskScheduler
- 聊聊Elasticsearch的RoundRobinSupplier
- 聊聊Elasticsearch的SizeBlockingQueue
- 聊聊Elasticsearch的EsThreadPoolExecutor
- 聊聊Elasticsearch的ConcurrentMapLong
- 聊聊Elasticsearch的AtomicArray
- 聊聊Elasticsearch的EvictingQueue
- 聊聊Elasticsearch的Iterables
- 聊聊Elasticsearch的CachedSupplier
- 聊聊Elasticsearch的LazyInitializable
- 聊聊Elasticsearch的SingleObjectCache
- 聊聊Elasticsearch的RunOnce
- 聊聊Elasticsearch的TimedRunnable
- 聊聊Elasticsearch的ExponentiallyWeightedMovingAverage
- 聊聊Elasticsearch的ReleasableLock
- 聊聊Elasticsearch的Releasables
- 聊聊Elasticsearch的FixedExecutorBuilder
dubbo
- 聊聊dubbo的Invoker select
- 聊聊dubbo的Filter
- 聊聊dubbo的EagerThreadPool
- 聊聊dubbo的DataStore
- 聊聊dubbo的LRUCache
- 聊聊dubbo的ConcurrentHashSet
- 聊聊dubbo的StatusChecker
- 聊聊dubbo的TPSLimiter
- 聊聊dubbo的TimeoutFilter
- 聊聊dubbo的ExecuteLimitFilter
- 聊聊dubbo的TokenFilter
- 聊聊dubbo的CacheFilter
- 聊聊dubbo的ValidationFilter
- 聊聊dubbo的ClassLoaderFilter
- 聊聊dubbo的MonitorFilter
- 聊聊dubbo的ConsumerContextFilter
- 聊聊dubbo的SpringContainer
- 聊聊dubbo的LogbackContainer
- 聊聊dubbo的MetadataReportService
- 聊聊dubbo的CommandExecutor
- 聊聊dubbo的DubboSwaggerService
- 聊聊dubbo spring boot的DubboShutdownMetadata
- 聊聊dubbo的DubboHealthIndicator
- 聊聊dubbo的AwaitingNonWebApplicationListener
- 聊聊dubbo的DubboApplicationContextInitializer
- 聊聊DubboDefaultPropertiesEnvironmentPostProcessor
- 聊聊dubbo的AccessLogFilter
- 聊聊dubbo的FailbackClusterInvoker
- 聊聊dubbo的ForkingClusterInvoker
- 聊聊dubbo的FailfastClusterInvoker
- 聊聊dubbo的ExtensionLoader.getActivateExtension
- 聊聊dubbo的SpringExtensionFactory
- 聊聊dubbo的ServiceBeanExportedEvent
- 聊聊dubbo的DubboComponentScanRegistrar
- 聊聊dubbo的ConfigChangeEvent
- 聊聊dubbo的WrappedChannelHandler
- 聊聊dubbo的NettyServer
- 聊聊dubbo的AllDispatcher
- 聊聊dubbo的ConnectionOrderedDispatcher
- 聊聊dubbo的ExecutionDispatcher
sharding-jdbc
- 聊聊sharding-jdbc的MasterSlaveRouter
- 聊聊sharding-jdbc的ShardingMasterSlaveRouter
- 聊聊sharding-jdbc的ShardingTracer
- 聊聊sharding-jdbc的RootInvokeHook
- 聊聊sharding-jdbc的SQLExecutionHook
- 聊聊sharding-jdbc的WrapperAdapter
- 聊聊sharding-jdbc的AbstractDataSourceAdapter
- 聊聊sharding-jdbc的ShardingTransactionManager
- 聊聊sharding-jdbc的XATransactionManager
- 聊聊sharding-jdbc的SingleXADataSource
- 聊聊sharding-jdbc的XAConnectionWrapper
nacos
- 聊聊nacos client的MetricsMonitor
- 聊聊nacos的ServerStatusManager
- 聊聊nacos config的RequestLogAspect
- 聊聊nacos config的EventDispatcher
- 聊聊nacos的DataSyncer
- 聊聊nacos的DelegateConsistencyServiceImpl
- 聊聊nacos的DistroMapper
- 聊聊nacos的DistroConsistencyServiceImpl
- 聊聊nacos的DistroFilter
- 聊聊nacos ServiceManager的registerInstance
- 聊聊nacos ServiceManager的removeInstance
- 聊聊nacos ServiceManager的updateInstance
- 聊聊nacos ServiceManager的UpdatedServiceProcessor
- 聊聊nacos的ServiceReporter
- 聊聊nacos Service的processClientBeat
- 聊聊nacos的HttpHealthCheckProcessor
- 聊聊nacos的TcpSuperSenseProcessor
- 聊聊nacos的MysqlHealthCheckProcessor
- 聊聊nacos的HealthCheckCommon
- 聊聊nacos的NacosDiscoveryAutoConfiguration
- 聊聊NacosDiscoveryEndpointsAutoConfiguration
- 聊聊NacosDiscoveryHealthIndicatorAutoConfiguration
- 聊聊NacosConfigAutoConfiguration
- 聊聊NacosConfigEnvironmentProcessor
- 聊聊NacosConfigEndpointAutoConfiguration
- 聊聊NacosConfigHealthIndicatorAutoConfiguration
- 聊聊nacos的ServerListManager
- 聊聊nacos的ServerChangeListener
- 聊聊nacos RaftCore的MasterElection
- 聊聊nacos的RaftPeerSet
- 聊聊nacos的RaftProxy
- 聊聊nacos NamingProxy的getServiceList
- 聊聊NacosNamingService的registerInstance
- 聊聊NacosNamingService的deregisterInstance
- 聊聊NacosNamingService的selectInstances
- 聊聊NacosNamingService的selectOneHealthyInstance
- 聊聊NacosNamingService的getServicesOfServer
- 聊聊NacosNamingService的subscribe及unsubscribe
- 聊聊nacos client的PushReceiver
- 聊聊nacos server的PushService
- 聊聊nacos的LocalConfigInfoProcessor
- 聊聊nacos client的ServerListManager的start
- 聊聊nacos client的ServerHttpAgent
- 聊聊nacos client的ConfigFilterChainManager
- 聊聊nacos的ConfigDataChangeEvent
- 聊聊nacos的configWatchers
- 聊聊nacos config的doPollingConfig
- 聊聊nacos config的publishConfig
- 聊聊nacos config的deleteConfig
- 聊聊nacos的notifyConfigInfo
- 聊聊rocketmq的ListenerContainerConfiguration
- 聊聊nacos RaftCore的signalPublish
- 聊聊nacos address的postCluster
- 聊聊nacos address的deleteCluster
- 聊聊nacos address的getCluster
rocketmq
- 聊聊rocketmq的DefaultRocketMQListenerContainer
- 聊聊RocketMQTransactionAnnotationProcessor
- 聊聊rocketmq的ExtProducerResetConfiguration
- 聊聊RocketMQTemplate
- 聊聊rocketmq的MessageQueueSelector
- 聊聊rocketmq的retryTimesWhenSendAsyncFailed
- 聊聊rocketmq的retryTimesWhenSendFailed
- 聊聊rocketmq的retryAnotherBrokerWhenNotStoreOK
- 聊聊rocketmq的maxMessageSize
- 聊聊rocketmq的compressMsgBodyOverHowmuch
- 聊聊rocketmq的sendMsgTimeout
- 聊聊rocketmq的AclClientRPCHook
- 聊聊rocketmq的AccessValidator
- 聊聊rocketmq的enableMsgTrace
- 聊聊rocketmq的AccessChannel
- 聊聊rocketmq的RECONSUME_LATER
- 聊聊rocketmq broker的CONSUMER_SEND_MSG_BACK
- 聊聊rocketmq的consumeTimeout
- 聊聊rocketmq的consumeThread
- 聊聊rocketmq的adjustThreadPoolNumsThreshold
- 聊聊rocketmq的consumeConcurrentlyMaxSpan
- 聊聊rocketmq的pullBatchSize
- 聊聊rocketmq的maxReconsumeTimes
- 聊聊rocketmq的pullThresholdForQueue
- 聊聊rocketmq的pullThresholdForTopic
- 聊聊rocketmq的pullInterval
- 聊聊rocketmq的suspendCurrentQueueTimeMillis
- 聊聊rocketmq的consumeMessageBatchMaxSize
- 聊聊rocketmq的ConsumeFromWhere
- 聊聊rocketmq的AllocateMessageQueueConsistentHash
- 聊聊rocketmq的AllocateMessageQueueAveragely
- 聊聊rocketmq的AllocateMessageQueueAveragelyByCircle
- 聊聊rocketmq的registerConsumer与unregisterConsumer
- 聊聊rocketmq的registerProducer与unregisterProducer
- 聊聊rocketmq的updateTopicRouteInfoFromNameServer
- 聊聊rocketmq的updateConsumeOffsetToBroker
- 聊聊rocketmq的pullFromWhichNodeTable
- 聊聊rocketmq的suggestPullingFromSlave
- 聊聊rocketmq的TransientStorePool
- 聊聊rocketmq的sendHeartbeatToAllBrokerWithLock
- 聊聊rocketmq的getOrCreateMQClientInstance
- 聊聊rocketmq的LatencyFaultTolerance
- 聊聊rocketmq的MQFaultStrategy
- 聊聊rocketmq的sendOrderly
- 聊聊rocketmq的HAClient
- 聊聊rocketmq producer的batch
- 聊聊rocketmq的sendBatchMessage
- 聊聊rocketmq的RemotingTooMuchRequestException
- 聊聊rocketmq的RemotingSendRequestException
- 聊聊rocketmq的RemotingCommandException
- 聊聊rocketmq的SERVICE_NOT_AVAILABLE
- 聊聊rocketmq的CleanCommitLogService
- 聊聊rocketmq的FlushConsumeQueueService
- 聊聊rocketmq的ConsumeMode.ORDERLY
- 聊聊rocketmq的ConsumeMode.CONCURRENTLY
- 聊聊rocketmq的ScheduleMessageService
- 聊聊rocketmq的ExpressionForRetryMessageFilter
- 聊聊rocketmq的QueryMessageProcessor
- 聊聊rocketmq的ClientManageProcessor
- 聊聊rocketmq的ConsumerManageProcessor
- 聊聊rocketmq的ConsumerIdsChangeListener
- 聊聊rocketmq的LitePullConsumer
- 聊聊rocketmq的SlaveSynchronize