Muser

弱小和无知不是生存的障碍,傲慢才是


  • Home

  • About

  • Tags

  • Categories

  • Archives

  • Notes

  • Commonweal 404

dubbo优雅下线分析

Posted on 2019-08-18 | Last modified: 2019-08-18 | In Work
Words count: 2,750
问题背景我们微服务之间的远程调用使用的是dubbo框架(版本2.4.9),在最近几次服务的发布中,我们发现在dubbo provider服务的重启过程中,如果此时正处于业务的高峰期,短时间内会有大量的rpc调用失败,如果consumer侧没有重试机制或本地兜底策略的话,很可能导致业务异常。 为了解决上述问题,我们有必要知道我们服务上下线过程中,dubbo究竟做了哪些事情。 服务上线首先看在上线过程中,dubbo是如何做到服务的注册和发现的。dubbo的架构如下图: 对于provider,dubbo会监听Spring容器的启动刷新事件(ContextRefreshedEvent),调用export()方法暴露服务。在使用zk作为注册中心的前提下,export()方法按顺序做下面3件事。 URL装配:读取provider端配置,根据约定好的协议将服务装配成URL的形式 协议暴露:所谓协议暴露,简单来说就是先创建NettyServer,然后给每个URL创建一个本地方法的代理,并将二者映射起来,NettyServer接收请求会调用对应的本地方法 向z ...
Read more »

Enable TLSv1.2 in JDK7

Posted on 2019-04-09 | Last modified: 2020-05-06 | In Work
Words count: 153
最近发现我们线上服务器向用户服务器发送https请求被拒绝的现象,原因是用户服务器设置的https协议是只支持TLSv1.2的请求,而我们使用JDK7的服务器发送https请求时默认使用的是TLSv1,用户服务器拒绝握手,出现connection reset错误,在不升级到JDK8的前提下需要支持发送TLSv1.2的https请求。 使用apache的httpClient代码如下: 1234567CloseableHttpClient httpClient = HttpClientBuilder .create() .setSSLSocketFactory(new SSLConnectionSocketFactory((SSLSocketFactory)SSLSocketFactory.getDefault(), new String[] {"TLSv1", "TLSv1.1", "TLSv1.2"}, ...
Read more »

Light-weight 'ping' to Mysql Server

Posted on 2019-02-01 | Last modified: 2019-02-01 | In Work
Words count: 396
The MySQL JDBC driver (Connector/J) provides a ping mechanism. If you do a SQL query prepended with / ping / such as: 1/* ping */ SELECT 1 This will actually cause the driver send a ping to the server and return a fake, light-weight, result set. 摘自https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-usagenotes-j2ee-concepts-connection-pooling.html#idm139975764832048 MySQL Connector/J can validate the connection by executing a lightweight ping against a server. In the ca ...
Read more »

HttpDNS原理

Posted on 2019-02-01 | Last modified: 2019-02-01 | In Work
Words count: 2,871
转载自:https://cloud.tencent.com/developer/article/1035562 但凡使用域名来给用户提供服务的互联网企业,都或多或少地无法避免在有中国特色的互联网环境中遭遇到各种域名被缓存、用户跨网访问缓慢等问题。那么对于腾讯这样的域名数量在10万级别的互联网公司来讲,域名解析异常的情况到底有多严重呢?每天腾讯的分布式域名解析监测系统在不停地对全国所有的重点LocalDNS进行探测,腾讯域名在全国各地的日解析异常量是已经超过了80万条。这给腾讯的业务带来了巨大的损失。为此腾讯建立了专业的团队与各个运营商进行了深度沟通,但是由于各种原因,处理效率及效果均不能达到腾讯各业务部门的需求。除了和运营商进行沟通,有没有一种技术上的方案,能从根源上解决域名解析异常及用户访问跨网的问题呢? 一、问题根源:要解决问题,我们得先得了解下现在国内各ISP的LocalDNS的基本情况。国内运营商LocalDNS造成的用户访问异常可以归为下三类: 1、域名缓存:域名缓存很好理解,就是LocalDNS缓存了腾讯的域名的解析结果,不向腾讯 ...
Read more »

nginx location匹配规则

Posted on 2019-02-01 | Last modified: 2019-02-01 | In Work
Words count: 11
nginx location匹配规则:https://segmentfault.com/a/1190000013267839
Read more »
1234…12
Muser

Muser

Coding While Thinking

60 posts
6 categories
67 tags
RSS
Search
© 2020 Muser | Site words count: 55.0k
Powered by Hexo
|
Theme — NexT.Muse