一般的java项目后台都有什么技术,比如Spring MVC,shiro还有什么技术?
Java web现在流行的技术是spring boot ,spring cloud, redis,mq, mybatis,spring security等,一般前后端分离
自从自学了angularjs,rails框架后,非常反感spring,herbinate等java框架,该如何是好?
存在即合理,每个框架都有自己的优点和缺点,年轻多看看不成问题,公司大环境决定了你使用哪个框架,等你牛逼到自己是总监可以把控技术方向,完全可以自己决定,在这步之前别想太多,框架无数,百分之99的都只是在使用框架,真正理解的没有几个.虚拟机大家天天用,有水平自己实现一个的太少,这是国内开发的大环境,喜欢的和实际使用的并不冲突
java微服务开发最适合使用spring boot吗?
那今天就不谈微服务是使用Dubbo还是Spring Cloud,也不讨论是使用RPC还是Restful API,只单独说一说为什么大多数的Java微服务会使用Spring Boot。文中会有不少我个人的主观看法,如果大家有不赞同的地方,可以留言讨论。
首先,需要了解一下为什么需要做微服务。
微服务架构是将整个应用程序分割成更小的独立的服务,每个服务实现了一组独立的功能,微服务通过API暴露自己的功能实现,再通过服务治理和服务编排等,完成系统的完整功能。
每个服务都是独立并且微小的(其实这个【小】是很有争议的,不在这里展开讨论),一个微服务由一个团队负责管理,包括需求、开发、运维,可以自由选择技术,不过要求遵守一定的规范;每个微服务都需要快速迭代和部署;总的来说,微服务架构突出了一个【快】字。
那么在回到题目中的问题,微服务的开发是否适合使用Spring Boot。个人认为,答案是肯定的,Spring Boot适合使用在微服务的架构中。
Spring Boot在最初设计的初衷,就是为了简化Spring应用工程的搭建,其实Spring Boot并没有引入什么新的东西,本质上它是在Spring和第三方框架的基础上进行了整合;Spring Boot通过定义的注解替代了xml配置文件,内嵌应用服务器;“约定大于配置”的思想;
总之,Spring Boot让服务的搭建、开发、部署、认证鉴权、监控都变得更加的简单。
所以结合上面两点,微服务注重项目粒度的划分,一个项目会被分成多个子项目,子项目(微服务)之间独立部署并通过协议进行数据交互,每个微服务都需要【快速】的迭代和部署;而Spring Boot的最大特点就是让应用开发过程变得【更快】,因此在微服务架构中,Spring Boot是非常适合的。
当然开发框架只是【快速】开发的一部分,微服务框架也不是单指应用服务的微和快,举个例子来说,如果你们的技术团队依然是需求、开发、测试分开的,每一次业务提了需求,需要需求人员进行需求评审,然后给开发人员讲解需求,开发人员开发完成之后,部署测试环境,测试人员开始进行测试;测试通过之后,提交上线申请,找一个上线节点,运维人员部署开发环境...
这样是快不起来的...
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
现在国内JAVA开发微服务主要有springboot(springCloud),dubbo,两个框架我都用过,就我个人而言,我觉得还是springboot更好一点!
springboot的理念是轻配置,自动化配置,内部集成,易部署,易监控!
springboot提供的starter启动类系列可以让开发人员进行快速开发,比如权限认证,消息组件,缓存集成等等,只需要简单配置即可使用!
但是springboot只是一个基础框架,在服务注册与发现,监控集成等方面没有提供完善的解决方案,而springCloud基于springboot,提供了一整套更加成熟的企业级的组件!
springCloud提供了服务注册与发现,断路器,客户端负载均衡,网关,调用链监控,分布式配置中心等组件,都是大型分布式系统所必须的特性!
dobbo只是一个rpc框架,而且配置相对来说比较复杂,不过文档比较完善,在国内使用的也比较多!
反正我觉得springCloud好,你们觉得呢?