您的位置:

java分布式,JAVA分布式面试题

本文目录一览:

java微服务和分布式的区别有哪些?

这个问题已经收藏了一个多月了,一直在考虑如何回答这个问题,总结了很长时间终于有了一些感悟(之前一直都是只可意会不可言传的感觉),和大家分享一下,如果有不同的建议,欢迎大家留言指正。

分布式和微服务

首先 ,我认为微服务就是分布式框架的一种。

分布式的思想就是把一个系统的不同模块,部署在不同的服务器上,以应对高并发的问题。

SOA是一种分布式架构,把业务系统分成多个子系统,提供不同的服务,再通过服务组合、编排实现业务流程;通常在SOA架构中,ESB企业服务总线扮演了重要的角色。

微服务是SOA的升华,如果非要说点儿不同的,那么微服务更加强调服务的细分和专业,去ESB总线、去中心化,部署粒度更细,服务扩展更灵活。

微服务不只是技术架构

很多同学一说微服务,就说这是一种技术架构,有的推荐使用Dubbo,有的推荐使用Spring Cloud。

我认为,微服务不单单是一种技术架构,也涉及到了管理、组织架构。

大多数的公司,需求、开发、测试、运维都是独立的团队,这实际上是有悖于微服务快速迭代的思想;在微服务的架构下,一个服务应该是由一个团队全权负责的。

不过组织架构方面的事情,真的不是我们能说了算的。

必须要用微服务?

我觉得没有必要为了微服务,而微服务;有的公司把服务拆分,但是数据库依然是同一个库,依然是一个项目直接掉另外一个项目的接口,然后对外就宣称完成了微服务的改造...

架构设计还是要根据需求背景、团队开发能力、软硬件实力综合来考虑。

好的架构是可以进化的,而不是一步到位建成的。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

目前主流的Java分布式框架有哪些,学起来难不难?

Java框架可以简化开发难度,更便于我们开发程序。所以学好Java框架还是比较重要的。Java的框架主要有:SpringMVC、Spring、Mybatis、Dubbo、Maven、RabbitMQ、Log4j、Ehcache、Redis、Shiro。不过这十个我们不需要都学会,只要学会其中四五个比较常用的就可以。

1.SpringMVC。Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,主要是帮助我们简化日常的Web开发;

2.Mybatis。MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架;

3.Spring。Spring深得企业的青睐;

4.Maven。越来越多的开发人员开始使用maven。

扩展资料:

java的学习,可以按照优就业的java课程大纲进行学习:

一、JavaEE基础

Java基础语法、面向对象、核心类库、集合、异常、IO、线程、JDK新特性

二、JavaWeb开发

前端技术、数据库、JAVA数据库操作、软件服务器及服务器相关技术、动态网页JSP、AJAX、优就业-在线医疗系统

三、Java高级框架

SpringMVC、MyBatis、Spring、MySQL高级、LinuxRedisNginx、Maven、中公MIS权限系统

四、大型微服务分布式项目实战

SpringBoot、SpringCloud、Git、Dubbo、Zookeeper、AngularJS、Spring Security、BCrypt加密、FastDFS、分布式事务处理、Redis Cluster、Solr、SolrCloud、Freemarker、JMS、短信发送平台、SSO解决方案、CORS、Twitter的Snowflake、SpringTask、Maven Profile、MongoDB简介、MyCat、Docker、Jenkins、东易买大型电商实战、东易众筹

五、微服务大型项目实战。

java分布式技术都包括什么?能详细列举么?

分布式是一种思想,范围很广,我得先知道它的诞生:

以前是一个数据库 一个JSP 就可以做一个应用了,后来随着业务复杂,我们开始分层,比如MVC之类的,再后来我们的数据越来越多了,比如有上亿的数据,这个时候我们一个数据库查询太慢了,就开始分库,这也算是分布式的一种。

还有比如我们的系统访问的人多了,比如双11,上千万人同时访问,我们的服务器(网站)支持不住了,这个时候就要部署到很多个服务器,每个服务器分摊请求,这也是分布式

当然随着业务扩大, 我们得分业务了,比如注册登录的,物流的,卖东西的 等等,不同的系统,但是各个系统之间进行协调,也算分布式一种

以上都算是分布式的来源,主要是解决 压力过大,大家协同工作的,那么这就涉及到一些常用的东西,或者像你说的的技术

1.你用N个数据库才放数据,至少CRUD 方面就 麻烦些了,得用cobar,tddl,mysql-proxy 等协调

2.服务器:你部署了很多服务器,肯定得用个东西来分发请求这些吧,nginx,apache 等分发请求。

3.你公司有很多系统,想很好的联系在一起,光用接口不满足了,得用一些JMS ,像activemq,ons 之类的来协调吧

4.为了解决io问题,得加缓存吧,那么缓存对应上面的,也得分布式吧,就涉及memcache,redies 等等

上面就简单的介绍了下 分布式 的东西,还有很多啦,这是常用的一些,希望你能慢慢来,不是一下子 能理解得