文档章节

打怪升级之路——分布式实践之技术选型

Lien6o
 Lien6o
发布于 2017/04/10 21:21
字数 1049
阅读 29
收藏 0

公司业务需要做分布式改造,与其说改造还不如说是重新开发。由于业务需求特殊既要出售又要可以自己部署发布。 总感觉开发的怪怪的。对于公司开发方式不敢苟同。

接下来直接说操作吧:

技术选型:

1.1 项目管理工具 Maven、Nexus 1.2 web服务器 Nginx 、Tomcat (Maven Tomcat Plugin) 1.3 业务框架 spring 、Spring MVC、MyBatis

1.3.1 Springmvc和Struts2区别 Springmvc和Struts2区别:与Spring框架天生整合,无框架兼容问题,与Struts2相比安全性高,配置量小、开发效率高。springmvc面向方法开发的(更接近service接口的开发方式),struts2面向类开发。springmvc可以单例开发,struts2只能是多例开发。

1.3.2 Mybatis和Hibbernate区别 Mybatis: 小巧、方便、高效、简单、直接、半自动化 hibernate:强大、方便、高效、复杂、间接、全自动化

1.4 RPC框架 Dubbo、Zookeeper

1.4.1 Dubbo是什么?

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册) 其核心部分包含:

  1. 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
  2. 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
  3. 自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。

1.4.2 Dubbo能做什么?

  1. 透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。
    2)服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。 3)Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。

1.4.3 Zookeeper在Dubbo中的作用是什么? 发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地址列表等就非常适合使用。

1.5 数据库 1.5.1 关系型数据库 MySQL 5.7
1.5.2 非关系型数据库 Redis

对这个中规中矩的选型,也没啥亮点。也不是最新的。但是更贴合目前的开发团队和开发实力。 就是数据库中间件 要用Mycat啃了一周书没看源码,心里没底,但是又让开发框架。忙忙的,最后再说数据库吧。 另外我心里最想用:springboot ,beetlsql ,shiro ,(springcolud 不知道坑怎么样不过想试试) 技术选型就这么多吧。不知道有啥坑。以后准备填坑!

© 著作权归作者所有

Lien6o
粉丝 15
博文 36
码字总数 29498
作品 0
海淀
程序员
私信 提问
400余份阿里珍贵技术资料限时免费下载(持续更新中)

400余份阿里珍贵技术资料限时免费下载(持续更新中) 2017年,你是否有一个小目标,打算在新的一年事业更上一层楼、代码写的更优美、对互联网生态拥有更多宏观的战略性了解? 小编精心挑选2...

阿里云官方博客
2017/03/16
3.6K
7
Flask连接数据库打怪升级之旅

前言 在初学 Flask 的时候,在数据库连接这部分也跟每个初学者一样。但是随着工作中项目接手的多了,代码写的多了,历练的多了也就有了自己的经验和技巧。在对这块儿代码不断的进行升级改造后...

xjtuhit
2017/08/30
0
0
重磅干货不容错过!2017云栖大会汇总资料,速来领取!

云栖大会由阿里巴巴集团主办已经成为全球云计算TOP级峰会汇聚DT时代最强大脑描绘云计算发展趋势和蓝图展现云计算、大数据、人工智能蓬勃发展的技术生态全景。2017云栖大会到此圆满结束聚焦技...

yunqi_share
2017/12/28
0
0
【DBAplus社群】北京站数据库技术沙龙强势来袭!

数据库圈近来可谓硝烟四起,尤其是在Oracle、MongoDB、Hadoop、CouchDB、MySQL相继被黑客勒索后,对于数据库从业者来说,做好数据库日常管理、提高自身数据库技能显得尤为重要。而DBAplus社群...

DBAplus社群
2017/03/06
17
0
【DBAplus社群】北京站数据库技术沙龙强势来袭!

数据库圈近来可谓硝烟四起,尤其是在Oracle、MongoDB、Hadoop、CouchDB、MySQL相继被黑客勒索后,对于数据库从业者来说,做好数据库日常管理、提高自身数据库技能显得尤为重要。而DBAplus社群...

DBAplus社群
2017/03/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins系列_插件安装及报错处理

进入Jenkins之后我们可以进行插件的安装,插件管理位于以下模块: 发现上面报了一堆错误,是因为插件的依赖没有安装好,那么这一节,就先把这些错误解决掉吧。解决完成后,也就基本会使用插件...

shzwork
今天
2
0
mysql mysql的所有查询语句和聚合函数(整理一下,忘记了可以随时看看)

查询所有字段 select * from 表名; 查询自定字段 select 字段名 from 表名; 查询指定数据 select * from 表名 where 条件; 带关键字IN的查询 select * from 表名 where 条件 [not] in(元素...

edison_kwok
昨天
9
0
多线程同时加载缓存实现

import com.google.common.cache.Cache;import com.google.common.cache.CacheBuilder;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorServi......

暗中观察
昨天
3
0
利用VisualVM 内存查看

准备工作,建几个测试类。等下就是要查看这几个类里面的属性 package visualvm;public class MultiObject { private String str; private int i; MultiObject(String str...

冷基
昨天
2
0
组装一台工作游戏两用机

一、配置清单如下: 分类 项目 价格(元) 主板 华硕(ASUS)TUF Z370-PLUS GAMING II 电竞特工 Z370二代 支持9代CPU 1049 CPU 英特尔(Intel) i7 8700K 酷睿六核 盒装CPU处理器 2640 风扇 九...

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部