Dubbo

一个成功的程序员,自然要懂微服务,汇总微服务架构的15钟框架!

寵の児 提交于 2020-04-21 23:45:32
这几年来,微服务这个概念越来越火了,火到什么程度呢? 2019年有一个统计说,两千家企业里, 45%在使用微服务,16%在实验开发和测试微服务架构,24%在学习微服务准备转型,只有剩下的15%的企业没有使用微服务。 微服务到底有什么好呢? 微服务在2013年才被提出,短短几年就有这么快速的发展。 微服务架构能够实现由小型自主服务组成一个整体应用,各个组成部分之间是松耦合的,复杂性低,各个部分可以独立部署,修复bug或者引入新特性更容易,能够独立扩展,不同技术栈之间可以使用不同框架、不同版本库甚至不同的操作系统平台。 对于中大型架构系统来说,微服务更加便捷,微服务成为很多企业架构重构的方向,同时也对 架构师提出更高的挑战。 目前有很多常用于微服务构建的框架,对于构建微服务架构能够带来一些帮助。 Java语言相关微服务框架 1.Spring Boot Spring Boot的设计目的是简化新Spring应用初始搭建以及开发过程,2017年有64.4%的受访者决定使用Spring Boot,可以说是最受欢迎的微服务开发框架。 利用Spring Boot开发的便捷度简化分布式系统基础设施的开发,比如像配置中心、注册、负载均衡等方面都可以做到一键启动和一键部署。 2.Spring Cloud Spring Cloud是一个系列框架的合计,基于HTTP(s)的RETS服务构建服务体系

微服务分布式企业框架

我的梦境 提交于 2020-04-21 20:22:05
微服务分布式企业框架 Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa - 知乎 https://zhuanlan.zhihu.com/p/28978979 roncoo-pay: 龙果支付系统(roncoo-pay)是国内首款开源的互联网支付系统,拥有独立的账户体系、用户体系、支付接入体系、支付交易体系、对账清结算体系。目标是打造一款集成主流支付方式且轻量易用的支付收款系统,满足互联网业务系统打通支付通道实现支付收款和业务资金管理等功能。 https://gitee.com/roncoocom/roncoo-pay Exrick/xmall: 基于SOA架构的分布式电商购物商城 前后端分离 前台商城:Vue全家桶 后台管理系统:Dubbo/SSM/Elasticsearch/Redis/MySQL/ActiveMQ/Shiro/Zookeeper等 https://github.com/Exrick/xmall 来源: oschina 链接: https://my.oschina.net/u/4274145/blog/3290475

TiDB 在金融场景里面那些不得不说的事

心不动则不痛 提交于 2020-04-21 20:20:46
今年春天突如其来的新冠病毒疫情,在一定程度上改变了人们的生活、工作习惯,给各行各业带来了巨大影响。银行也难逃“池鱼之殃”:传统商业银行的盈利能力、资产和信贷规模都受到了一定程度的影响。疫情期间,人们对线上银行服务的需求激增,原本深受诟病传统银行的技术架构,又一次被推上了风口浪尖。有”危“就有“机”,疫情期间,北银金科云计算应用部副总经理 & 金融业务及解决方案专家于振华老师做客 TiDB 直播间,分享了 TiDB 在金融场景的应用,以下为直播文字回顾。 本文以银行业数据库架构演进为契机,结合商业银行的核心业务,探讨未来商业银行的技术发展趋势和机遇。 第一部分:背景介绍 我发现随着时间的推进,金融科技工作者感觉越来越累,因为技术变化是一直存在的,金融科技发展有一个非常快的加速度,并且我觉得未来应该也会延续这种趋势。下面这张图,如果是你能够站上这条曲线,能够追上科技的发展,那就能够利用科技的力量来赋能业务,这就是为什么我们现在这么累,为什么大家感觉科技工作者的节奏越来越快的理解。 具体谈到在业务层面,第一是互联网的业务爆发增长,对系统提出了更高的要求,以往没有互联网的时候,业务可能是恒定的量,有了互联网,有了线上化的模式,需要系统架构有一定的可扩展能力。第二是我们现在做互联网金融产品,就是要快速上线,快速适应市场的行情,具备快速交付能力。第三就是要做到自主可控,做到金融安全可以把控

Java工程师连斩五份offer,工资20k+,全靠这份PDF面试题!

耗尽温柔 提交于 2020-04-21 17:42:53
由于内容太过全面,所有这里只题目目录截出来粗略的介绍一下,这份PDF文档有将近五百页,内容覆盖了:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈: ( 如果觉得对你有帮助,记得点赞,关注,分享, 三连,非常感谢!!!) 文末可领取: MyBatis(27道) ZooKeeper(28道) Dubbo(30道) Elasticsearch(24道) Memcached(23道) Redis(40道) MySQL(50道) Java 并发编程(一)Java 并发编程(二)(123道) Java面试题(一)Java面试题(二)(228道) Spring 面试题(一)Spring 面试题(二)(119道) 微服务(20道) Linux(45道) Spring Boot(22道) Spring Cloud(8道) RabbitMQ(12道) kafka(18道) 文末有读者福利,往下翻: 答案,关注公众号下面二维码,即可 来源: oschina 链接: https://my.oschina.net/u/4506875/blog/3290565

Java 线程基础,从这篇开始

送分小仙女□ 提交于 2020-04-21 14:22:36
线程作为操作系统中最少调度单位,在当前系统的运行环境中,一般都拥有多核处理器,为了更好的充分利用 CPU,掌握其正确使用方式,能更高效的使程序运行。同时,在 Java 面试中,也是极其重要的一个模块。 线程简介 一个独立运行的程序是一个进程,一个进程中可以包含一个或多个线程,每个线程都有属于自己的一些属性,如堆栈,计数器等等。同时,一个线程在一个时间点上只能运行在一个 CPU 处理器核心上,不同线程之间也可以访问共享变量。线程在运行时,系统给每个线程分配一些 CPU 时间片,CPU 在时间片这段时间运行某个线程,当这个时间片运行完又跳转至下一段时间片线程,CPU 在这些线程中进行高速切换,使得程序像是在同时进行多个线程操作。 线程的实现 实现线程常用的两种方式:继承 java.lang.Thread 类、实现 java.lang.Runnable 接口。 继承 Thread 类方式 通过实例化 java.lang.Thread 类获得线程。创建 Thread 对象,一般使用继承 Thread 类的方式,然后通过方法重写覆盖 Thread 的某些方法。 首先创建一个继承 Thread 的子类。 public class DemoThread extends Thread{ // 重写 Thread 类中的 run 方法 @Override public void run() { //

接口测试,接口协议以及常用接口测试工具详解

谁说胖子不能爱 提交于 2020-04-21 10:49:05
一、前言:什么是接口 1.接口指的是软件提供给外界的一种服务。作用在于使其内部的数据能被外部进行修改的交互方式。 例如:USB接口,电脑里的数据可以看成是内容数据,而U盘里的数据可以看成是外部数据,那么USB接口的作用就是:电脑和U盘交互数据,也就是使电脑内部的数据能够和外部的U盘交换数据。 例如:微信的提现和充值,就调用银行对外开放的接口, 这些接口有权限控制,一般需要鉴权码token才可以访问。那为什么要鉴权码呢?如果没有鉴权码约束,那是不是谁也可以修改银行内部的数据?那还得了,那就真可以定一个小目标了! ​ 2.接口一般来说有两种:一种是程序内部的接口,一种是系统对外的接口。 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app它在进行数据处理的时候都是通过接口来进行调用的。 程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖就得登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。 二、接口协议以及对应的接口测试工具 1、基于http协议的接口: http协议又叫超文本传输协议

在实施分布式服务化架构过程中如何解决关于分布式事务问题的困扰--常用的分布式事务解决方案介绍

巧了我就是萌 提交于 2020-04-21 05:04:02
为了解决大家在实施分布式服务化架构过程中关于分布式事务问题的困扰,本教程将基于支付系统真实业务中的经典场景来对“可靠消息的最终一致性方案”、“TCC两阶段型方案”和“最大努力通知型方案”这3种柔性事务解决方案进行具体设计实现和详细讲解。 教程提供的 分布式事务解决方案的设计思路 在所有微服务架构项目中都适用,与编程语言无关,教程中会重点讲解方案的设计思路。 样例项目基于龙果学院开源的微支付系统进行实现,使用Dubbo作为服务化框架,教程中所实现的分布式事务解决方案在Java体系中的微服务架构系统都能通用,与具体的开发框架无关。 教程样例项目中用到的技术及相应的环境: Dubbo、Spring、SpringMVC、MyBatis、Druid、JDK7(或JDK8)、MySQL5.6、Tomcat 扩展阅读: https://www.roncoo.com/view/20 来源: oschina 链接: https://my.oschina.net/u/4386758/blog/3275942

350道Java面试题道道扎心,为了备战金三银四我也是拼了

只谈情不闲聊 提交于 2020-04-20 18:57:09
前言: 前面一段时间,大家都经历过一场对战,他们说2020-1024=996,今年注定是不平凡的一年,相信很多朋友可能打算跳槽和在找工作,一定要做好充分的准备,如果不准备充分的面试,完全是浪费时间,更是对自己的不负责。(如果觉得文章对你有益的话,记得三连喔(点赞、关注、分享) 今天给大家分享下我整理的Java架构面试专题及答案,其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,不过也希望能对即将找工作的朋友起到一些帮助!在这由于文字很多,我总结了java面试所涉及到的常问范围及架构面试专题和答案和架构视频资料免费分享给大家,文末有领取! 性能调优专栏(记得文末领取) 一.tomcat性能优化整理 你怎么给tomcat性能调优 如何加大tomcat链接数 怎么加大tomcat 的内存 tomcat中如何禁止列目录下的文件 tomcat有几种部署方式 tomcat的优化经验 二.Jvm性能优化专栏 Java内加载过程 Java内存分配 描述一下jvm加载class文件的原理机制 gc是什么?为什么要有gc 简述Java垃圾回收机制 如何判断一个对象是否存活 垃圾回收的有点和原理,并采用2种回收机制 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗? Java中会存在内存泄漏吗?请简单描述 深拷贝和浅拷贝 System.gc()

dubbo(三):负载均衡实现解析

自闭症网瘾萝莉.ら 提交于 2020-04-20 14:48:42
  dubbo作为分布式远程调用框架,要保证的点很多,比如:服务注册与发现、故障转移、高性能通信、负载均衡等等!   负载均衡的目的是为了特定场景下,能够将请求合理地平分到各服务实例上,以便发挥所有机器的叠加作用。主要考虑的点如:不要分配请求到挂掉的机器,性能越好的机器可以分配更多的请求。。。   一般负载均衡是借助外部工具,硬件负载均衡或软件负载均衡,如F5/nginx。当然了,在当前分布式环境遍地开花的情况下,客户端的负载均衡看起来就更轻量级,显得不可或缺。   今天我们就来看看dubbo是如何进行负载均衡的吧! 1. dubbo负载均衡的作用?   其出发点,自然也就是普通的负载均衡器的出发点了。将负载均衡功能实现在rpc客户端侧,以便能够随时适应外部的环境变化,更好地发挥硬件作用。而且客户端的负载均衡天然地就避免了单点问题。定制化的自有定制化的优势和劣势。   它可以从配置文件中指定,也可以在管理后台进行配置修改。   事实上,它支持 服务端服务/方法级别、客户端服务/方法级别 的负载均衡配置。 2. dubbo有哪些负载均衡方式?   即dubbo提供了哪些负载均衡策略呢? Dubbo内置了4种负载均衡策略:   RandomLoadBalance:随机负载均衡。随机的选择一个。是Dubbo的默认负载均衡策略。   RoundRobinLoadBalance:轮询负载均衡

Java程序员勇面阿里、京东等四厂,分享面试必问,你能掌握多少?

为君一笑 提交于 2020-04-19 19:08:47
面试,难还是不难?最终结果好还是不好?取决于面试者的底蕴(气场+技能)、心态和认知以及沟通技巧。而一些主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴)更是需要你在面试时展现出自己的能力,从而获得面试官的欣赏和肯定。 而程序员在应聘时更是需要经历层层面试。俗话说,磨刀不误砍柴工,做好面试前的准备工作可以帮助大家更好的应对面试官的问题以及面试中的突发情况。那么我们一起来看看大型互联网公司的面试题吧! 阿里巴巴面试 1、开发中Java用了比较多的数据结构有哪些? 2谈谈你对HashMap的理解,底层原理的基本实现,HashMap怎么解决碰撞问题的? 这些数据结构中是线程安全的吗?假如你回答HashMap是线程安全的,接着问你有没有线程安全的map,接下来问了conurren包。 3、对JVM熟不熟悉?简单说说类加载过程,里面执行的哪些操作?问了GC和内存管理,平时在tomect里面有没有进行过相关的配置 4、然后问了http协议,get和post的基本区别,接着tcp/ip协议,三次握手,窗口滑动机制。 5、开发中用了哪些数据库?回答mysql,储存引擎有哪些?然后问了我悲观锁和乐观锁问题使用场景、分布式集群实现的原理。 6、然后问了我springmvc和mybatis的工作原理,有没有看过底层源码? 京东金融面试 1、Dubbo超时重试;Dubbo超时时间设置 2