TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Forking Redis: SSL/TLS and Transactions

77 pointsby davidglabout 7 years ago

15 comments

antirezabout 7 years ago
I want to give just a few info about this:<p>1. SSL is going to be merged in the next days, I&#x27;m in this moment here in SF in the same room with the patch author, she made a wonderful work and the patch is &quot;opt in&quot;, simple, and good, so this is going to happen.<p>2. Forking is a right that open source gives you. Have fun coding Josiah!<p>3. I really will push for any fork not being called Redis. I care a lot about the details, the stability, the quality and the ideas in my project, and I really want that when people say &quot;Redis&quot;, it&#x27;s Redis, and not a Redis fork.<p>4. I&#x27;ll be a bit disappointed if the license of the fork is so that it will be possible to merge my(1) BSD code but I will not be able to merge back potential change. It&#x27;s legal, it&#x27;s possible to do for this approach, but it IMHO ethically speaking sucks.<p>(1) my as mine and a number of other contribs.
评论 #16944426 未加载
评论 #16944409 未加载
piquadratabout 7 years ago
Just a few days ago, AWS announced[1] that they will be contributing TLS to Redis, and judging by one of his comments[2], antirez doesn&#x27;t seem to be completely against merging it.<p>According to a comment on Reddit[3], Josiah wasn&#x27;t aware of this effort by AWS.<p>[1]: <a href="https:&#x2F;&#x2F;aws.amazon.com&#x2F;cn&#x2F;blogs&#x2F;opensource&#x2F;open-sourcing-encryption-in-transit-redis&#x2F;" rel="nofollow">https:&#x2F;&#x2F;aws.amazon.com&#x2F;cn&#x2F;blogs&#x2F;opensource&#x2F;open-sourcing-enc...</a><p>[2]: <a href="https:&#x2F;&#x2F;github.com&#x2F;antirez&#x2F;redis&#x2F;pull&#x2F;4855#issuecomment-383171007" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;antirez&#x2F;redis&#x2F;pull&#x2F;4855#issuecomment-3831...</a><p>[3]: <a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;redis&#x2F;comments&#x2F;8f373k&#x2F;a_new_redis_fork_with_ssl_transactions&#x2F;dy19br1&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;redis&#x2F;comments&#x2F;8f373k&#x2F;a_new_redis_f...</a>
评论 #16943277 未加载
评论 #16971743 未加载
评论 #16949755 未加载
decebalus1about 7 years ago
But... why? SSL will eventually make it into the official Redis release.<p>Anyway, I don&#x27;t think anyone would use a fork of Redis just because of SSL. I would take the perf hit and go with socket tunneling just so that I don&#x27;t have to deal with the maintenance burden of depending on a fork.
评论 #16942681 未加载
评论 #16971149 未加载
评论 #16942959 未加载
gtrubetskoyabout 7 years ago
I forked Redis years ago providing threads and SQL support, though I can&#x27;t remember if transactions were supported now. This was done mostly for fun and as an experiment, learned a lot about locking and database internals in the process:<p>Main concept: <a href="http:&#x2F;&#x2F;thredis.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;thredis.org&#x2F;</a><p>Implementation details: <a href="https:&#x2F;&#x2F;github.com&#x2F;grisha&#x2F;thredis&#x2F;blob&#x2F;master&#x2F;README-THREDIS" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;grisha&#x2F;thredis&#x2F;blob&#x2F;master&#x2F;README-THREDIS</a>
评论 #16943870 未加载
评论 #16971693 未加载
doug1001about 7 years ago
i love redis and have been using in production for over five years. But i&#x27;m interested to read the story of this fork because the practicioner-focused redis book this guy wrote is one of the best software-related texts i&#x27;ve read in the past 7 - 8 years. (&quot;Statistical Rethinking&quot; by Richard McElreath, and &quot;The Art of SQL&quot; by Stephane Faroult are two others that had the same impact)
评论 #16971581 未加载
calebioabout 7 years ago
Did I miss something here around the rationale for forking vs. attempting to contribute this to the official project?<p>Edit: found some more details over on reddit[0]:<p><i>I didn&#x27;t see the existing TLS PR, and I&#x27;m not finding it now. Do you have a link?<p>As for why fork and not PR, Salvatore already closed the Transactions PR and said he didn&#x27;t want Redis to go in that direction. And when searching about SSL&#x2F;TLS in Redis itself, I found this: <a href="https:&#x2F;&#x2F;redis.io&#x2F;topics&#x2F;encryption" rel="nofollow">https:&#x2F;&#x2F;redis.io&#x2F;topics&#x2F;encryption</a> , read the implementation of spiped (it uses fixed 1k block sizes), then realized that SSL&#x2F;TLS is the right answer in this situation.<p>Could transactions be a module? I was about halfway through the cluster transaction bits as a module when I hit a collection of &quot;oh wait, I can&#x27;t even call this entire class of things unless I create new module wrappers for both directions&quot; problems. Then I just added a new .c file, new .h, did the right includes, a make clean &amp;&amp; make, and my life was 10x better.<p>Also, this just includes redis-benchmark, redis with SSL&#x2F;TLS, etc., is still a couple weeks out. I need to get redis-cli &gt; and redis-sentinel speaking SSL&#x2F;TLS.</i><p>[0] - <a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;redis&#x2F;comments&#x2F;8f373k&#x2F;a_new_redis_fork_with_ssl_transactions&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;redis&#x2F;comments&#x2F;8f373k&#x2F;a_new_redis_f...</a>
评论 #16971670 未加载
t0mbstoneabout 7 years ago
Very cool! Any reason why this wouldn&#x27;t make its way into the official releases of redis?
评论 #16942714 未加载
评论 #16943224 未加载
评论 #16942457 未加载
mythzabout 7 years ago
Not expecting this to see much traction given there&#x27;s already an open PR to add SSL to Redis (from an AWS employee):<p><a href="https:&#x2F;&#x2F;github.com&#x2F;antirez&#x2F;redis&#x2F;pull&#x2F;4855" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;antirez&#x2F;redis&#x2F;pull&#x2F;4855</a>
评论 #16971413 未加载
enzabout 7 years ago
From the article:<p>&gt; And as a basic need, relying on third party tools for SSL&#x2F;TLS termination or a transparent VPN solution is a great first step from running without encryption, but it can leave speed on the table. And part of the reason why we use Redis is for speed, right?<p>&gt; With 3rd party SSL&#x2F;TLS termination, that can only get worse. How much worse?<p>I&#x27;m curious to see what the results could be with HAProxy as a SSL termination frontend. (via a Unix socket or a TCP connection)
评论 #16971274 未加载
salmoabout 7 years ago
Meh. A short-lived fork addressing issues being addressed in mainstream redis in a way that is probably more consistent with the codebase.<p>I think it&#x27;s an interesting piece of work, no doubt. But I&#x27;d never adopt something like this in Real Life. Given the gorgeous state of the codebase, I trust the current stewardship of the project to make the right calls. This sounds more personal than technical.
评论 #16971376 未加载
ryanmccullaghabout 7 years ago
I watched about 10 seconds of the video. I stopped after that because the guy was still talking about himself, not the software.
评论 #16971188 未加载
评论 #16943170 未加载
iampimsabout 7 years ago
Sounds like it adds native SSL termination for redis-server and benchmarks show its much faster than external ssl termination.
gingerlimeabout 7 years ago
Anyone knows a redis cli client that supports rediss&#x2F;TLS? Tunneling the server is one thing, but I do miss the convenience of redis-cli and tunneling the client is a bit of a nuisance.
make3about 7 years ago
why not just submit patches to redis, it feels like something a lot of people would benefit from.
评论 #16971321 未加载
aphextronabout 7 years ago
Why does Redis need SSL&#x2F;TLS? It&#x27;s meant to be used as a backend service across trusted networks. And if you need to use it over untrusted networks, you&#x27;re best off using an actual server like NGINX or HAProxy to mediate it. Not to mention the killer feature of Redis is not neccessarily throughput, but it&#x27;s best-in-class latency, which could be severely affected by SSL termination (and if you are doing SSL termination on the same machine as your Redis instance, you&#x27;re doing it wrong.). This seems like added bloat to a really great lightweight tool.
评论 #16943026 未加载
评论 #16971211 未加载