随笔分类 - 微服务与中台
spider RPC, 金融企业级高性能java远程调用中间件
摘要:使用spring boot开发微服务后,工程的数量大大增加(一定要按照领域来切,不要一个中间件客户端包一个),让各个jar从开发和运行时自包含成了一个重要的内容之一。spring boot starter就可以用来解决该问题(没事启动时别依赖于applicationContext.getBean获取
阅读全文
摘要:服务器或服务端进程负载太高都有可能发生上述异常。 ClosedChannelException 一般是由 Netty 主动抛出的,有可能是服务器端主动关闭,也可能是客户端关闭,都会导致写失败。参考:Netty 中 IOException: Connection reset by peer 与 jav
阅读全文
摘要:下述各zookeeper机制的java客户端实践参考zookeeper java客户端之curator详解。 官方文档http://zookeeper.apache.org/doc/current/zookeeperOver.html、http://zookeeper.apache.org/doc/
阅读全文
摘要:关于zookeeper的原理解析,可以参见zookeeper核心原理详解,本文所述大多数实践基于对zookeeper原理的首先理解。 Curator是Netflix公司开源的一个Zookeeper客户端,目前是apache顶级项目。与Zookeeper提供的原生客户端相比,Curator的抽象层次更
阅读全文
摘要:ZooKeeper的ACL机制 zookeeper通过ACL机制控制znode节点的访问权限。 首先介绍下znode的5种操作权限:CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写)注:这5种权限中,
阅读全文
摘要:Dubbo的集群容错策略 正常情况下,当我们进行系统设计时候,不仅要考虑正常逻辑下代码该如何走,还要考虑异常情况下代码逻辑应该怎么走。当服务消费方调用服务提供方的服务出现错误时候,Dubbo提供了多种容错方案,缺省模式为failover,也就是失败重试。 Dubbo提供的集群容错模式 下面看下Dub
阅读全文
摘要:写在开头,zk客户端、服务器对负载比较敏感,对于类似大数据处理的应用,zk心跳时间设置和监测很关键,否则非常容易系统不稳定,建议可能长时间高负载导致GC时间过长的非OLTP的尽量不使用zk或rpc,而是使用MQ或HTTP。 dubbo consumer和provider的心跳机制 dubbo客户端和
阅读全文
摘要:对于不包含MANIFEST.MF,或jar包中的MANIFEST.MF未指定MainClass的jar,可以通过java命令行选项-classpath指定classpath。但是如果是包含MainClass的jar,例如: Manifest-Version: 1.0Bundle-License: h
阅读全文
摘要:最近遇到个场景,需要在使用@Bean注解定义bean的时候为对象设置一些属性,比如扫描路径,因为路径经常发布新特性的时候需要修改,所以就计划着放在配置文件中,然后通过@ConfigurationProperties或@Value结合@PropertySource注入,类似如下: 但是只要在Confi
阅读全文
摘要:本文主要考虑单点登录场景,登录由其他系统负责,业务子系统只使用shiro进行菜单和功能权限校验,登录信息通过token从redis取得,这样登录验证和授权就相互解耦了。 用户、角色、权限进行集中式管理。网上不少这样的提问,但是没有解决方案、抑或只是说明如何做,并没有完整的现成解决方法。 Apache
阅读全文
摘要:使用了虚拟机之后,启动了dubbo服务提供者应用,又连了正式环境的注册中心; 一旦dubbo获取的ip错误后, 这种情况即使提供者服务停掉,目前dubbo没有能力清除这类错误的提供者; (需要修改源码测试,需要客户端重新更细包,因为清除动作client端,我司就是这么干的) 规避方案: 发现这种情况
阅读全文
摘要:切换到微服务架构似乎很容易,但技术领导者往往低估了项目的复杂性,并犯下灾难性的错误。此文对来自以色列和美国等5个国家的技术领袖进行了13次采访。这篇文章很长,内容包括如下一些方面: • 微服务是什么 •微服务架构优劣势分析 •微服务面临的挑战和应对解决方案 •微服务落地要避开的坑 •来自技术领导型企
阅读全文
摘要:前几天拜读了 OpsGenie 公司(一家致力于 Dev & Ops 的公司)的资深工程师 Turgay Çelik 博士写的一篇文章(链接在文末),文中介绍了他们最初也是采用 Nginx 作为单体应用的网关,后来接触到微服务架构后开始逐渐采用了其他组件。 我对于所做的工作或者感兴趣的技术,喜欢刨根
阅读全文
摘要:因为从Spring Boot 1.4开始,spring boot就不支持log4j了,必须是log4j2或者logback,具体两者如何配置以及NDC的支持可以参考spring boot精华版。 这里要讲的是如果刚好用的spring boot是1.4+或者应用使用了log4j2,但是依赖的三方使用的
阅读全文
摘要:这几天抽空搞了下spring cloud 1.x(2.0目前应该来说还不成熟),因为之前项目中使用dubbo以及自研的rpc框架,所以总体下来还是比较顺利,加上spring boot,不算笔记整理,三天不到一点围绕spring boot reference和spring microservice i
阅读全文
摘要:spring boot 入门 关于版本的选择,spring boot 2.0开始依赖于 Spring Framework 5.1.0,而spring 5.x和之前的版本差距比较大,而且应该来说还没有广泛的使用,所以生产中,一般来说目前还是建议使用spring boot 1.x,目前最新版本是1.5.
阅读全文
摘要:由于当前很多应该都是前后端分离了,同时大量的基于http的分布式和微服务架构,使得很多时候应用和不同项目组之间的系统相互来回调用,关系复杂。如果使用传统的做法,都在应用中进行各种处理和判断,不仅维护复杂、容易出错,还大大增加开发、调试的工作量,在nginx中,有不少的非功能类其实是可以帮我们处理掉的
阅读全文
摘要:dubbo泛化调用 https://blog.csdn.net/linuu/article/details/54313560 注1:最新的dubbo 2.7变化参见http://dubbo.apache.org/zh-cn/docs/user/versions/version-270.html 注2
阅读全文
摘要:spider使用java语言开发,使用Spring作为IoC容器,采用TCP/IP协议,在此基础上,结合SaaS金融交易系统的特性进行针对性和重点设计,以更加灵活和高效的满足金融交易系统多租户、高可用、分布式部署的要求。spider默认采用JSON作为序列化机制,后续版本可能会考虑支持protobu
阅读全文
摘要:参考: https://my.oschina.net/thinwonton/blog/1622905 http://www.open-open.com/lib/view/open1426940722554.html https://github.com/Netflix/eureka/wiki/Con
阅读全文