网站介绍
哪煮米是一个我自己独自操刀的域名比价平台,会显示不同域名后缀,不同注册商的注册价格,支持横向对比和纵向对比。并且支持多种条件筛选,非常人性化。
首页:https://www.nazhumi.com
为什么做这个网站
自己有这方面的需求,也在 Q 群聊天里面知道还有一些朋友也有类似的需求。
国外已经有 domcomp、tld-list 网站,但是对于中国用户来说使用体验不太好,支持的域名商也不全面,尤其是不支持国内的域名注册商。
国内也有一些类似的网站,问题也主要在域名注册商太少。这样就导致一个很严重的问题:价格谈不上实惠。
想系统总结一下自己的技术,做一些创造性的
工作搬砖。
开发这个网站有哪些坑
这个网站我尝试了全新的 JAVA 技术栈(Springboot 全家桶),确实方便,但坑也变得很多。
首先说下方便的地方
Spring Data JPA + Hibernate 的组合,确实十分方便,特别是定义完 DAO 接口之后马上就可以使用(动态代理的一些机制),既解决了原来 Hibernate 各种 前置后置操作,也不用再取出后担心再转类型导致不安全的问题。在 ORM 领域可以说是开辟了一个新天地了。和直接使用 MongoDB 的体验相差无几,还支持复杂的一些关联操作。
Springboot 本身配置少,省去了配置找百度的很多时间,也大大提高了可扩展性。比如要加入日志、redis 等就变得非常方便,和 Maven 整合之后,也不用关注各个组件的版本号。
启动更加方便,不用再折腾 Tomcat,只要 Jar 包就可以启动。
再说下比较坑爹的地方
SpringBoot 默认的模板引擎 Thymeleaf 极其不好用。
首先比如文档必须是 html,但是又要求各种模板变量必须在 双引号 以内,不能直接在两标签中调用变量,并且不提供转义符号。
组件也不太好用,组件必须包在一个标签中,但是又不提供像 vue 或者 小程序 里面的 block/template 等无意义标签。
不支持 的使用方法,必须还是 JSP 的老一套。总之,如果你用过 vue 或者 小程序做前端开发的话,再转过来用 Thymeleaf ,就会得到一种酸爽的体验。截取了一小段判断逻辑供大家体验。
jar 包直接启动仍然不方便,在实际生产环境中,需要根域名跳转到 www,Springboot 没法提供好的方案,无奈只能用 nginx 反代一下。当然这个也是微服务的趋势。另外,如果要增加一些 图标资源 ,改动一下 html,也必须重新打包,有点麻烦。
SpringData JPA 中没有提供 像 Hibernate 查询器的一些方便的面向对象的 sql 生成机制,复杂动态查询的时候使用起来比较繁琐。
还有哪些遗憾
- 没有做输入一个域名前缀搜索是否可以注册的功能,专注于注册商比价。原因主要是因为没有找到合适的接口。不过,其实很多域名注册商本身也支持数百个后缀,查询域名是否可注册并不麻烦。
未来给自己留了哪些坑
现在访问量较少,如果用户增多,可能会考虑用 Redis 暂存 优化资源占用量。
如果用户暴增则可能还需要考虑负载均衡(不可能的)。还有便宜的许多域名注册商没有收录,主要是各国本地的注册商,对于该国的后缀注册一般会比较便宜。(如 .cn 国内注册只需二十元,但是外国注册商都是十美元起),这个精力有限,日后有时候再慢慢添加。
很有可能不赚钱,必须自己支付相关费用。