Archive for ‘ February, 2018

那些让清英受益终生的书

昨天晚上表弟问我,有什么书可以推荐给他读一读,于是向他推荐了一些书,这些书对于我来说是受益终生的,所以希望分享给大家,希望对大家有帮助!本文包括我写的一些读书笔记和感悟。

做任何事情之前掌握方法论很重要,读书也有方法论,所以首先推荐两本书《如何阅读一本书》和《杠杆阅读术》,仔细阅读这两本书之后,并加以练习,可以提高阅读质量。

Read more

《kubernetes官方文档》翻译邀请

过年好,2月并发网组织大家翻译《kubernetes官方文档》,欢迎有兴趣的同学参与。(想参与更多翻译

如何领取

通过评论领取想要翻译的文章,每次领取一章或一节(根据内容长短),翻译完后再领取其他章节。领取完成之后,建议在一个星期内翻译完成,如果不能完成翻译,也欢迎你邀请其他同学和你一起完成翻译。请谨慎领取,并发网是非盈利组织,没办法去跟进每一篇译文的进展,所以很多文章领取了没有翻译,会导致文章长时间没人翻译。

Read more

创建线程以及线程池时候要指定与业务相关的名字,以便于追溯问题

3.9 创建线程以及线程池时候要指定与业务相关的名字,以便于追溯问题

日常开发中当一个应用中需要创建多个线程或者线程池时候最好给每个线程或者线程池根据业务类型设置具体的名字,以便在出现问题时候方便进行定位,下面就通过实例来说明不设置时候为何难以定位问题,以及如何进行设置。

Read more

一个有关定时生产与消费的问题

一、前言

本文来讲解遇到的一个有意思的与定时器相关的生产消费模型,模型如下图:

 

  • 生产者是一个定时器线程,使用ScheduledThreadPoolExecutor的scheduleAtFixedRate控制每间隔3s投递一个元素到队列1,2,3(使用offer方法)。比如第1s放入一个元素到队列1,2,3,这时候每个队列里面有一个元素。然后第4s在放入一个元素到队列1,2,3,如果没有消费线程的时候这时候每个队列里面有2个元素.
  • 队列为有界阻塞队列(ArrayBlockingQueue),队列元素的大小设置为6个元素。
  • 消费者是一个定时器线程,使用ScheduledThreadPoolExecutor的scheduleAtFixedRate控制每间隔1s轮询取出每个队列里面全部元素(使用poll方法)。比如第1s取出队列1里面的全部元素,第2s取出队列2里面的元素,第3s取出队列3里面的元素,第4s取出队列1里面的元素….
    并且如果发现当前队列为空则会结束当前s的任务,然后等下1s到了的时候从下一个队列开始取。
  • 消费线程启动后,生产线程才启动,生产者和消费者线程优先级相同
  • 消费线程和生产线程里面没有耗时操作,或者耗时都不超过1s。这个保证定时器任务不会被延迟执行。

问题:每个队列里面最多时候会有几个元素?

Read more

《Istio官方文档》配置请求路由

原文链接 译者:suzhuo

配置请求路由

这里将向你展示如何根据权重和HTTP请求头去配置动态路由。

Read more

Springboot之spring-boot模块

一、前言

spring-boot模块提供了一些特性用来支持springboot中其他模块,这些特性包含如下:

  • SpringApplication类提供了静态方法以便于写一个独立了spring应用程序,该类的主要职责是create和refresh一个合适的Spring 应用程序上下文(ApplicationContext)
  • 一流的外部配置的支持(application.properties)
  • 提供了便捷的应用程序上下文(ApplicationContext)的初始化器,以便在ApplicationContext使用前对其进行用户定制。
  • 给web应用提供了一个可选的web容器(目前有Tomcat或Jetty)

Read more

《Istio官方文档》Kubernetes快速开始

Kubernetes快速开始

在Kubernetes群集中安装和配置Istio时,可以参考如下快速入门说明。

先决条件

以下说明要求您有权访问启用了RBAC(基于角色的访问控制)的Kubernetes 1.7.3或更新的群集。你还需要安装1.7.3或更新版本。如果您希望启用自动注射支架,您需要打开群集中的Kubernetes alpha功能。 Read more

return top