java企业级电商项目介绍_Java企业级电商项目架构演进之路 Tomcat集群与Redis分布式...

Java企业级电商项目架构演进之路Tomcat集群与Redis分布式

Redisson介绍

Redisson是架设在Redis基础上的一个java驻内存数据网格。

Redisson在基于NIO的Netty框架上,充分的利用了Redis键值数据库提供的一系列优势。

在java使用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。

使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。

同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。

Redisson官方网站

官网:https://redisson.org

Github:https://github.com/redisson/

wiki:https://github.com/redisson/redisson/wiki

Redisson框架集成

在pom.xml中放入依赖redisson和 jackson-dataformat-avro

org.redisson

redisson

2.9.0

com.fasterxml.jackson.dataformat

jackson-dataformat-avro

2.9.0

Redisson初始化方法

public class RedissonManager {

private Config config = new Config();

private Redisson redisson = null;

public Redisson getRedisson() {

return redisson;

}

private static String redis1Ip = PropertiesUtil.getProperty("redis1.ip");

private static Integer redis1Port = Integer.parseInt(PropertiesUtil.getProperty("redis1.port"));

private static String redis2Ip = PropertiesUtil.getProperty("redis2.ip");

private static Integer redis2Port = Integer.parseInt(PropertiesUtil.getProperty("redis2.port"));

//在构造器完成之后执行init方法

@PostConstruct

private void init() {

try {

config.useSingleServer().setAddress(new StringBuilder().append(redis1Ip).append(":").append(redis1Port).toString());

redisson = (Redisson) Redisson.create(config);

log.info("初始化Redisson结束");

} catch (Exception e) {

log.error("redisson init error", e);

}

}

}

、利用Redisson编写关单操作,默认将等待时间设置为0秒

@Scheduled(cron = "0 */1 * * * ?")//每一分钟(每个一分钟的整数倍)

public void closeOrderTaskV4() {

RLock lock = redissonManager.getRedisson().getLock(Const.REDIS_LOCK.CLOSE_ORDER_TASK_LOCK);

boolean getLock = false;

try {

//等待时间waitTime,释放时间leaseTime

if (getLock = lock.tryLock(0, 50, TimeUnit.SECONDS)) {

log.info("Redisson获取到分布式锁:{},ThreadName:{}", Const.REDIS_LOCK.CLOSE_ORDER_TASK_LOCK, Thread.currentThread().getName());

int hour = Integer.parseInt(PropertiesUtil.getProperty("close.order.task.time.hour", "2"));

// iOrderService.closeOrder(hour);

} else {

log.info("Redisson没有获取到分布式锁:{},ThreadName:{}", Const.REDIS_LOCK.CLOSE_ORDER_TASK_LOCK, Thread.currentThread().getName());

}

} catch (InterruptedException e) {

log.error("Redisson分布式锁获取异常", e);

} finally {

if (!getLock) {

return;

}

lock.unlock();

log.info("Redisson分布式锁释放锁");

}

}

redis主从配置:在6380端口的redis中redis.windows.conf文件中加上下面的配置,这样6379为主,6380为从,6380只可读不可写,6379中写入的数据,会同步到6380中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
熟悉项目开发过程中SSM框架、JSP、Mysql使用,知道各技术之间的如何衔接; 考虑到部分学生只需要学习前台(买家)或是后台(后台),故将电商系统分为电商系统前台和电商系统后台两个项目, 当前课程包含电商系统前台和电商系统后台 该课程主要涉及到的技术有:  项目涉及的技术:  1、前端:jsp、css、javascript、jQuery(js框架)、bootstrap框架 2、后台:Spring MVC、Spring、Mybatis框架、javaMail进行邮件发送、jstl 、jstl自定义分页标签、代码生成器等 3、数据库:Mysql 4、服务器:Tomcat项目开发涉及的功能: 1、项目以及数据库搭建 2、用户登录、退出3、用户注册、邮件发送、以及用户信息激活4、首页商品信息页面搭建以及查询功能实现5、查询商品明细6、加入商品至购物车、删除、更新、清除购物车商品信息7、确认订单信息8、订单页面搭建以及下订单功能实现9、查询我的购物车以及订单信息10、商品明细查看,商品修改,商品下架11、商品类型管理12、订单管理13、代码机器人使用等等其他实战项目:java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)https://edu.csdn.net/course/detail/25771 java项目之oa办公管理系统(java毕业设计)https://edu.csdn.net/course/detail/23008 java项目之hrm人事管理项目(java毕业设计)https://edu.csdn.net/course/detail/23007 JavaWeb项目实战之点餐系统前台https://edu.csdn.net/course/detail/20543 JavaWeb项目实战之点餐系统后台https://edu.csdn.net/course/detail/19572 JavaWeb项目实战之宿舍管理系统(Java毕业设计含源码)https://edu.csdn.net/course/detail/26721 JavaWeb项目实战之点餐系统全套(前台和后台)https://edu.csdn.net/course/detail/20610 java项目实战之电子商城后台(java毕业设计SSM框架项目)https://edu.csdn.net/course/detail/25770 java美妆商城项目|在线购书系统(java毕业设计项目ssm版)https://edu.csdn.net/course/detail/23989 系统学习课程:JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10https://edu.csdn.net/course/detail/26941 Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)https://edu.csdn.net/course/detail/25976其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值