java项目搭建
文章平均质量分 75
慢生活的人。
慵懒,慢吞吞的时光并非不是一种享受!
展开
-
java电商项目搭建-------支付模块(对接支付宝)
努力好了,时间会给你答案。--------magic_guo支付模块是电商项目的核心,毕竟电商是属于B2C的,最终的盈利才是最重要的,第三方支付平台有很多,而且第三方支付平台对于商家接入都会有一些开发文档和demo作为指引,因此这部分虽然重要,但是开发相对简单;下面我们来了解一下对接支付宝的一些流程:1、首先我们对接支付宝需要到支付宝开放平台2、然后选择自己的支付能力,我这里选择的是“电脑网站支付”;电脑网站支付点击电脑网站支付的基础功能,便可以看到一些基础的参数和接口描述以及代码示例、流程图原创 2021-10-17 22:19:20 · 4071 阅读 · 2 评论 -
java电商项目搭建-------分库分表(动态数据源)
努力好了,时间会给你答案。--------magic_guo对于分库分表的概念,现在一搜一大堆,这里不做过多的赘述,只将分库分表的思路拿出来和大家分享一下;我所整合的是spring + mybatis-plus,值得注意的是,我们既然要分库,意味着数据库肯定有很多个,所以数据源是动态的;数据具体要插入那个数据库的那张表,是通过规则计算得来的;我使用的是很普通的分库分表规则:即平均分配数据:要插入的数据库编号 = 用户id后四位 % 数据库的数量;要插入的数据表编号 = 用户id后四位 / 数据库原创 2021-10-16 16:02:55 · 1070 阅读 · 2 评论 -
java电商项目搭建-------订单模块
努力好了,时间会给你答案。--------magic_guo订单模块的流程以及用户操作如下:1.当用户选定购物车需要结算的商品并单击结算按钮时,会跳转到订单页面,此时会将选定的购物车信息展示在订单界面,并且还会显示用户的地址信息以供用户选择;2.用户选择了地址,点击提交订单按钮,此时生成订单数据,并将插入数据库,同时清除购物车信息,然后跳转到支付页面;3.根据订单id查询订单5.根据用户id查询所有订单;6.更新订单状态的操作;7.取消订单,用户跳转到支付页面而未支付;此时订单处于待支付状态;原创 2021-10-14 22:12:53 · 3370 阅读 · 0 评论 -
java电商项目搭建-------地址模块
努力好了,时间会给你答案。--------magic_guo对于地址模块的搭建就比较简单了,以下我梳理了地址模块的一些信息;直接看图:地址模块展示栏:从上图中可以看地址模块的一些操作:功能分析:值得注意的是,添加地址是有两种操作:1、添加的地址是否设为默认地址;这就意味我们要做一个判断,这里牵涉了两个sql语句:①.插入这条地址信息;②.将该用户的其他默认地址设置为非默认地址;2、不判断地址是否设置为默认地址,添加进来的都为非默认地址直接添加地址,不用考虑用户传进来的是否是默认的,都设原创 2021-09-27 23:11:06 · 857 阅读 · 2 评论 -
java电商项目搭建-------商品详情页模块
努力好了,时间会给你答案。--------magic_guo在一个电商项目中,访问频率最高的是商品详情页页面,而且商品详情页的变化评率不会太高(除非是搞活动的时候);那么访问频率高,然后再使用数据库来查询,频繁访问数据库,性能肯定达不到要求。因此另外一套解决方案就应用而生:nginx+静态的商品详情页;nginx:处理静态数据没秒钟可以到达10W次(官方数据);在项目上线的时候,搭建一台nginx服务器,专门来处理静态页面的请求;需要考虑的是,页面生成的时机,如果用户要访问商品的时候,再去生成页面原创 2021-09-12 15:55:24 · 1179 阅读 · 1 评论 -
java电商项目搭建-------购物车模块
努力好了,时间会给你答案。--------magic_guo购物车模块的设计方式有很多种:1、用户登录或者未登录① 登录将购物车放入redis,未登录将购物车放入Cookie中② 登录将购物车放入mysql,未登录将购物车存入redis2、强制用户登录除了首页和商品详情页,其他的模块访问都会做限制,以达到用户登录的效果;但无论如何,购物车信息只是一个暂存的信息,创建订单后,会将购物车的信息删除,而且购物车访问的频率会很大,对于性能也有一定的要求,这是购物车数据库的设计的两个重要因素;一般来说原创 2021-09-11 13:34:38 · 2543 阅读 · 3 评论 -
java电商项目搭建-------单点登录模块SSO
努力好了,时间会给你答案。--------magic_guo在微服务项目中,基于session的登录系统逐渐的被摒弃,随之代替的是单点登录;session登录将session保存在服务器端,但是微服务系统中有很多服务米快,不能保证每个模块都同步用户的session,而且同步了session也使得系统的开销很大;在单点登录中,令牌token保存在客户端,用户登录时携带token,并统一由路由网关做验证(通过JWT实现),然后再转发到其他模块,免去了系统保存session的步骤;总的来说,登录模块包括三个原创 2021-08-29 12:17:01 · 939 阅读 · 2 评论 -
java电商项目搭建-------使用JavaMailSender实现邮件发送
让学习成为一种习惯!--------magic_guo在微服务项目中一般关于用户的隐私的验证方式有两种:1、邮件服务2、短信验证服务现在稍微大点儿的平台将两种服务都结合在一起,手机短信验证作为常用的验证服务,而邮件服务则是被用作保底的一种手段;短信服务相比于邮件服务还是比较方便快捷,至少来说手机已成为人们生活中不可或缺的一部分;短信服务有很多平台都已实现,例如阿里云,腾讯云、百度云等都以结合运营商实现了自己的短信服务,但是对于个人用户来说,申请短信服务仍是比较困难,他主要是针对公司和企业;因此这里原创 2021-08-21 11:08:31 · 1135 阅读 · 1 评论 -
java电商项目搭建-------ES搜索模块实现
让学习成为一种习惯!--------magic_guo之前的文章搭建了rabbitMq、es、ik和kibana环境,这次实现es的搜索模块;在一个电商项目中数据量和并发量很大,如果直接去数据库查询数据,会给数据库造成很大的压力,有可能导致数据库的宕机;当然解决办法也有很多,其中最典型的两种解决办法就是使用缓存和搜索引擎:1、数据库 + redis2、数据库 + 搜索引擎此模块的业务构架:es模块的maven依赖:需要注意的是,es依赖版本要和服务器的es版本要一致; <depen原创 2021-08-09 20:21:38 · 1805 阅读 · 1 评论 -
docker安装es和kibana
让学习成为一种习惯!--------magic_guo最近在学习为服务项目,免不了要接触一些第三方组件,如:es、rabbitMq、fastDFS等,如果在服务器中安装这些单一组件或者将这些组件搭建成集群的话,我认为使用docker服务会方便管理;另外docker中的docker-compose也可以很方便的管理这些项目;今天记录一下搜索引擎elasticsearch和kibana:elasticsearch简写es,es是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的原创 2021-08-08 21:43:40 · 2065 阅读 · 4 评论 -
java电商项目搭建-------分布式文件存储系统(OSS)
人之所以痛苦,那是因为你在成长。--------magic_guo上一篇写了fastDFS,这一片就来就写一下阿里云的OSS文件存储;相比于fastDFS,OSS的好处不用多说,只需配置即可,无需担心搭建与后期维护问题;怎么注册OSS和开通OSS服务一起怎么获取AK与ASK这里不在进行叙述,可以根据官网的指引或者网上的教程来搞,一搜一大堆;在分布式系统中,一般上传图片和文件的流程是:前端带着文件----->调用文件上传服务的接口将文件转化成流的形式----->调用存储系统的接口;上述流原创 2021-07-31 15:05:47 · 1008 阅读 · 0 评论 -
java电商项目搭建-------分布式文件存储系统(fastDFS)
人之所以痛苦,那是因为你在成长。--------magic_guo微服务项目,由于访问量和系统的高可用性能,会将上传的文件图片等存放在搭建的分布式文件存储系统;现在比较流行的文件存储系统有fastDFS和OSS(在下一篇描述);但是两者各有利弊:1、fastDFS的搭建需要更多的资源,搭建步骤繁琐,还要考虑到后期的维护成本;2、OSS是阿里云的存储服务,只需要一些配置就可以乱传乱滋溜,也不用考虑后期维护问题,等项目的访问量上来以后,只管拿钱配置就可以了;毕竟钱这东西,谁说不香呢?!!!!今天我们两个原创 2021-07-28 22:21:10 · 1562 阅读 · 2 评论 -
java电商项目搭建-------业务模块(商品模块)和全局异常
人之所以痛苦,那是因为你在成长。--------magic_guo在分布式系统中,数据库的设计尤为重要,关系着系统性能;在高可用的概念中,数据库的设计和优化被单独划分为一个模块来叙述,由此可见其重要性;其中有分库分表、字段设计、索引选择、数据库引擎、主键策略、表之间的关联等,都属于这一范畴;商品模块数据库搭建:阐述:商品的基本信息:id、价格、描述、类型、商品图片等;在一些真实业务场景中,商品图片是一个表(一般商品图片都存放于分布式文件存储系统中,如fastFDS和OSS)、商品描述是一个表;三原创 2021-07-25 21:07:29 · 960 阅读 · 12 评论 -
java电商项目搭建-------openfeign的服务调用(熔断机制和负载均衡)
人之所以痛苦,那是因为你在成长。--------magic_guo在微服务项目中,各个服务都部署在不同的服务器上,业务线上服务之间相互调用;话说回来,现在流行的几个服务调用工具openfeign、RPC、dubbo;RPC—Remote Produce Call(远程过程调用),主要是通过自定义通信规则,自定义数据格式来实现通信。其实这要求通信两端都需要统一通信规则,必须约定好数据传输格式;在我看来最流行的是:zookeeper+dubbo和eureka+openfeign两种注册中心和服务调用;d原创 2021-07-24 17:25:02 · 438 阅读 · 0 评论 -
java电商项目搭建-------业务模块搭建(shop-user)
人之所以痛苦,那是因为你在成长。--------magic_guo由于第一次实际搭建这些模块,深深体会到“小伙子,这里面水很深,你把握不住啊!”这句话的含义;其中出现了很多bug,但最后还是一一解决,文章后面会把遇到的问题都写是哪个,以供参考;搭建shop-user模块:基础模块搭建好以后,后面的模块搭建,千篇一律,模式一样,不同的是各个模块所需要的功能和依赖不同;总结搭建思路:创建一个spring initializr模块,选择好Group和Artifact后,选择依赖;整理pom文件(选择父po原创 2021-07-19 22:37:20 · 491 阅读 · 1 评论 -
java电商项目搭建-------基础模块搭建(config,eureka,zuul)
人之所以痛苦,那是因为你在成长。--------magic_guo最近一直在看java微服务电商项目视频,看的时候总觉得自己学会了,但是过了一段时间就会淡忘;尤其是一些配置问题;致力于此困扰,想按照视频的思路自己来搭建一套spring-cloud微服务环境;话不多说,开始吧!说到微服务,肯定少不了一些组件:配置中心:config server,nacos等注册中心:eureka,zookeeper,nacos等…服务调用:feign,rpc,dubbo等降级熔断:Hystix,sentinel等原创 2021-07-15 22:33:32 · 408 阅读 · 9 评论